#36011 [NEW]: Strict errormsg wrong for call_user_func() and the likes
| From: | phpbugreport at elexer dot com | Date: | Sat, 14 Jan 2006 14:42:38 +0000 |
| Subject: | #36011 [NEW]: Strict errormsg wrong for call_user_func() and the likes | ||
| Groups: | php.bugs | ||
| Request: | Send a blank email to php-bugs+get-91905@lists.php.net to get a copy of this message | ||
From: phpbugreport at elexer dot com
Operating system: *
PHP version: 5CVS-2006-01-14 (snap)
PHP Bug Type: Class/Object related
Bug description: Strict errormsg wrong for call_user_func() and the likes
Description:
------------
With error_reporting(E_ALL | E_STRICT) and usage of call_user_func(),
array_map() on a static function returns "Strict Standards: Non-static
method TestClass::test() cannot be called statically, assuming $this from
compatible context TestClass" while the called method is static.
Reproduce code:
---------------
<?php
error_reporting(E_ALL | E_STRICT);
class TestClass {
static function test() {
echo "test() called\r\n";
}
function whee() {
array_map(array('TestClass', 'test'), array('array_value'));
}
function whee4() {
call_user_func( Array('TestClass', 'test') );
}
static function whee5() {
call_user_func( Array('TestClass', 'test') );
}
}
TestClass::test();
$a = new TestClass();
$a->whee();
$a->whee4();
$a->whee5();
TestClass::whee5();
Expected result:
----------------
No strict warnings
Actual result:
--------------
Strict Standards: Non-static method TestClass::test() cannot be called
statically, assuming $this from compatible context TestClass in test2.php
on line 11 test() called
--
Edit bug report at http://bugs.php.net/?id=36011&edit=1
--
Try a CVS snapshot (PHP 4.4): http://bugs.php.net/fix.php?id=36011&r=trysnapshot44
Try a CVS snapshot (PHP 5.1): http://bugs.php.net/fix.php?id=36011&r=trysnapshot51
Try a CVS snapshot (PHP 6.0): http://bugs.php.net/fix.php?id=36011&r=trysnapshot60
Fixed in CVS: http://bugs.php.net/fix.php?id=36011&r=fixedcvs
Fixed in release: http://bugs.php.net/fix.php?id=36011&r=alreadyfixed
Need backtrace: http://bugs.php.net/fix.php?id=36011&r=needtrace
Need Reproduce Script: http://bugs.php.net/fix.php?id=36011&r=needscript
Try newer version: http://bugs.php.net/fix.php?id=36011&r=oldversion
Not developer issue: http://bugs.php.net/fix.php?id=36011&r=support
Expected behavior: http://bugs.php.net/fix.php?id=36011&r=notwrong
Not enough info: http://bugs.php.net/fix.php?id=36011&r=notenoughinfo
Submitted twice: http://bugs.php.net/fix.php?id=36011&r=submittedtwice
register_globals: http://bugs.php.net/fix.php?id=36011&r=globals
PHP 3 support discontinued: http://bugs.php.net/fix.php?id=36011&r=php3
Daylight Savings: http://bugs.php.net/fix.php?id=36011&r=dst
IIS Stability: http://bugs.php.net/fix.php?id=36011&r=isapi
Install GNU Sed: http://bugs.php.net/fix.php?id=36011&r=gnused
Floating point limitations: http://bugs.php.net/fix.php?id=36011&r=float
No Zend Extensions: http://bugs.php.net/fix.php?id=36011&r=nozend
MySQL Configuration Error: http://bugs.php.net/fix.php?id=36011&r=mysqlcfg