Skip to content

Commit 5a4623d

Browse files
committed
Deprecate BONKERS SPL behaviour
1 parent 8cbfa65 commit 5a4623d

File tree

2 files changed

+4
-1
lines changed

2 files changed

+4
-1
lines changed

Zend/zend_autoload.c

+1
Original file line numberDiff line numberDiff line change
@@ -268,6 +268,7 @@ ZEND_FUNCTION(autoload_unregister_class)
268268
* This is forward-ported from SPL */
269269
if (fcc.function_handler->type == ZEND_INTERNAL_FUNCTION &&
270270
fcc.function_handler->internal_function.handler == zif_autoload_call_class) {
271+
zend_error(E_DEPRECATED, "Flushing the class autoloader table by passing autoload_call_class() is deprecated");
271272
// Don't destroy the hash table, as we might be iterating over it right now.
272273
zend_hash_clean(&EG(autoloaders).class_autoload_functions);
273274
RETURN_TRUE;

ext/spl/tests/spl_autoload_002.phpt

+3-1
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ spl_autoload_unregister('spl_autoload');
3535
var_dump(spl_autoload_functions());
3636

3737
?>
38-
--EXPECT--
38+
--EXPECTF--
3939
array(0) {
4040
}
4141
array(1) {
@@ -56,6 +56,8 @@ array(2) {
5656
[1]=>
5757
string(16) "SplAutoloadTest2"
5858
}
59+
60+
Deprecated: Flushing the class autoloader table by passing autoload_call_class() is deprecated in %s on line %d
5961
array(0) {
6062
}
6163
array(1) {

0 commit comments

Comments
 (0)