2008-01-30 14:25:57 +00:00
|
|
|
--TEST--
|
|
|
|
Ensure __autoload() allows for recursive calls if the class name differs.
|
|
|
|
--FILE--
|
|
|
|
<?php
|
2017-01-30 21:28:17 +00:00
|
|
|
spl_autoload_register(function ($name) {
|
|
|
|
echo "IN: autoload($name)\n";
|
2018-09-16 17:16:42 +00:00
|
|
|
|
2017-01-30 21:28:17 +00:00
|
|
|
static $i = 0;
|
|
|
|
if ($i++ > 10) {
|
|
|
|
echo "-> Recursion detected - as expected.\n";
|
|
|
|
return;
|
2008-01-30 14:25:57 +00:00
|
|
|
}
|
2018-09-16 17:16:42 +00:00
|
|
|
|
2017-01-30 21:28:17 +00:00
|
|
|
class_exists('UndefinedClass' . $i);
|
2018-09-16 17:16:42 +00:00
|
|
|
|
2017-01-30 21:28:17 +00:00
|
|
|
echo "OUT: autoload($name)\n";
|
|
|
|
});
|
|
|
|
|
|
|
|
var_dump(class_exists('UndefinedClass0'));
|
2008-01-30 14:25:57 +00:00
|
|
|
?>
|
2018-02-19 08:59:41 +00:00
|
|
|
--EXPECT--
|
2017-01-30 21:28:17 +00:00
|
|
|
IN: autoload(UndefinedClass0)
|
|
|
|
IN: autoload(UndefinedClass1)
|
|
|
|
IN: autoload(UndefinedClass2)
|
|
|
|
IN: autoload(UndefinedClass3)
|
|
|
|
IN: autoload(UndefinedClass4)
|
|
|
|
IN: autoload(UndefinedClass5)
|
|
|
|
IN: autoload(UndefinedClass6)
|
|
|
|
IN: autoload(UndefinedClass7)
|
|
|
|
IN: autoload(UndefinedClass8)
|
|
|
|
IN: autoload(UndefinedClass9)
|
|
|
|
IN: autoload(UndefinedClass10)
|
|
|
|
IN: autoload(UndefinedClass11)
|
2008-01-30 14:25:57 +00:00
|
|
|
-> Recursion detected - as expected.
|
2017-01-30 21:28:17 +00:00
|
|
|
OUT: autoload(UndefinedClass10)
|
|
|
|
OUT: autoload(UndefinedClass9)
|
|
|
|
OUT: autoload(UndefinedClass8)
|
|
|
|
OUT: autoload(UndefinedClass7)
|
|
|
|
OUT: autoload(UndefinedClass6)
|
|
|
|
OUT: autoload(UndefinedClass5)
|
|
|
|
OUT: autoload(UndefinedClass4)
|
|
|
|
OUT: autoload(UndefinedClass3)
|
|
|
|
OUT: autoload(UndefinedClass2)
|
|
|
|
OUT: autoload(UndefinedClass1)
|
|
|
|
OUT: autoload(UndefinedClass0)
|
2008-01-30 14:25:57 +00:00
|
|
|
bool(false)
|