Strict errormsg wrong for call_user_func() and the likes
| Bug #36011 | Strict errormsg wrong for call_user_func() and the likes | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Submitted: | 2006-01-14 15:42 UTC | Modified: | 2006-01-14 16:24 UTC |
|
||||||
| From: | phpbugreport at elexer dot com | Assigned: | helly (profile) | |||||||
| Status: | Closed | Package: | Class/Object related | |||||||
| PHP Version: | 5CVS-2006-01-14 (snap) | OS: | * | |||||||
| Private report: | No | CVE-ID: | None | |||||||
[2006-01-14 15:42 UTC] phpbugreport at elexer dot com
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
Patches
Pull Requests
History
AllCommentsChangesGit/SVN commits
[2006-01-14 16:24 UTC] helly@php.net