php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #44144 spl_autoload_functions() should return object instance when appropriate
Submitted: 2008-02-18 02:07 UTC Modified: 2009-09-22 17:40 UTC
From: ezyang@php.net Assigned: colder (profile)
Status: Closed Package: SPL related
PHP Version: 5.3CVS-2008-02-18 (CVS) OS: Irrelevant
Private report: No CVE-ID: None
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: ezyang@php.net
New email:
PHP Version: OS:

 

 [2008-02-18 02:07 UTC] ezyang@php.net
Description:
------------
spl_autoload_functions() should return object instances, not class names, when appropriate.

Reproduce code:
---------------
<?php
class Foo {
  public function nonstaticMethod() {}
}
$foo = new Foo;
spl_autoload_register(array($foo, 'nonstaticMethod'));
$funcs = spl_autoload_functions();
print_r((int) is_object($func[0][0]));

Expected result:
----------------
1

Actual result:
--------------
0

Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2008-02-29 13:48 UTC] colder@php.net
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.


 [2008-02-29 21:31 UTC] ezyang@php.net
Thanks for the fix. Do you think, by any chance, we can sneak this into PHP 5.2, or is that impossible?
 [2009-07-28 22:25 UTC] svn@php.net
Automatic comment from SVN on behalf of bjori
Revision: http://svn.php.net/viewvc/?view=revision&revision=286476
Log: MFH: Fixed bug #44144 & add test
 [2009-09-22 17:40 UTC] pajoye@php.net
Please do not do such change again in stable releases!

It is obviously a BC break and forces users to have a work around for 5.2.11 and later while keeping the old code for 5.2.10 or earlier.

I can understand that we like to match what is done in call_user_func, but it should not be done at the price of BC in a stable branche (has behaved like that for many releases already).
 
PHP Copyright © 2001-2025 The PHP Group
All rights reserved.
Last updated: Mon Feb 03 03:01:30 2025 UTC