ID: 43973 Updated by: [EMAIL PROTECTED] Reported By: robin_fernandes at uk dot ibm dot com -Status: Open +Status: Closed Bug Type: Class/Object related PHP Version: 6CVS-2008-01-29 (snap) New Comment:
This bug has been fixed in CVS. Snapshots of the sources are packaged every three hours; this change will be in the next snapshot. You can grab the snapshot at http://snaps.php.net/. Thank you for the report, and for helping us make PHP better. Previous Comments: ------------------------------------------------------------------------ [2008-01-30 12:26:36] [EMAIL PROTECTED] Simple fix: http://ecl.zoone.com.br/etc/patches/bug43973.diff ------------------------------------------------------------------------ [2008-01-29 18:28:39] robin_fernandes at uk dot ibm dot com Description: ------------ NB: This issue is specific to PHP6 snaps. PHP5.2 and PHP5.3 snaps produce the expected output. When using a callback of the form 'C::f' where class C is not yet defined, __autoload() is invoked with the fully qualified method name as an argument, rather than just the class name. Reproduce code: --------------- <?php function __autoload($name) { echo "Autoload class: $name\n"; if ($name == 'C') { class C { static function f() { echo "In C::f()\n"; } } } } call_user_func('C::f'); ?> Expected result: ---------------- Autoload class: C In C::f() Actual result: -------------- Autoload class: C::f Warning: call_user_func() expects parameter 1 to be valid callback, string given in %s on line 9 ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=43973&edit=1