Bug #60149 [Opn->Nab]: SPL autoloader not called in error handler triggered by private __call
| From: | tony2001@php.net | Date: | Wed, 18 Sep 2013 07:56:47 +0000 |
| Subject: | Bug #60149 [Opn->Nab]: SPL autoloader not called in error handler triggered by private __call | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-181646@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=60149&edit=1
ID: 60149
Updated by: tony2001@php.net
Reported by: gedrox at gmail dot com
Summary: SPL autoloader not called in error handler triggered
by private __call
-Status: Open
+Status: Not a bug
Type: Bug
Package: SPL related
Operating System: Ubuntu 11.10
PHP Version: 5.3.8
Block user comment: N
Private report: N
New Comment:
This is by design, autoload cannot be triggered from compiler.
See my explanation in bug 54054.
Previous Comments:
------------------------------------------------------------------------
[2012-01-26 09:30:29] phil at propcom dot co dot uk
This is similar to https://bugs.php.net/bug.php?id=54054. The two may
be related.
------------------------------------------------------------------------
[2011-10-27 15:18:57] gedrox at gmail dot com
Description:
------------
No SPL registered autoloader is called inside custom error handler if it has been
triggered by private __call() magic function what should be public instead.
Test script:
---------------
http://gedrox.eu/php_spl_autoloader_error_handler_private_call.tar
Run run.php file.
Expected result:
----------------
Tried to load class 'DoesNotExist_1'
Caught error 'The magic method __call() must have public visibility and cannot be
static'
Tried to load class 'DoesNotExist_2'
Done
Actual result:
--------------
Tried to load class 'DoesNotExist_1'
Caught error 'The magic method __call() must have public visibility and cannot
be static'
Fatal error: Uncaught exception 'RuntimeException' with message 'Assertion
failed on line '66' in LoaderTest.php on line 45
RuntimeException: Assertion failed on line '66'
in LoaderTest.php on line 45
Call Stack:
0.0001 635080 1. {main}() run.php:0
0.0003 665536 2. LoaderTest->testFailure() run.php:6
0.0004 670584 3. assert() LoaderTest.php:66
0.0004 671144 4. LoaderTest->assertionFail() LoaderTest.php:0
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=60149&edit=1