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

Reply via email to