[ Mini Kiebo ]
Server: Windows NT AKFAR_SERVER 10.0 build 26200 (Windows 10) AMD64
Path:
D:
/
kmspico
/
bin
/
lib
/
[
Home
]
File: gh10011.phpt
--TEST-- Bug GH-10011 (Trampoline autoloader will get reregistered and cannot be unregistered) --FILE-- <?php class TrampolineTest { public function __call(string $name, array $arguments) { echo 'Trampoline for ', $name, PHP_EOL; } } $o = new TrampolineTest(); $callback1 = [$o, 'trampoline1']; $callback2 = [$o, 'trampoline2']; spl_autoload_register($callback1); spl_autoload_register($callback2); spl_autoload_register($callback1); // 2nd call ignored var_dump(spl_autoload_functions()); var_dump(class_exists("TestClass", true)); echo "Unregister trampoline:\n"; var_dump(spl_autoload_unregister($callback1)); var_dump(spl_autoload_unregister($callback1)); var_dump(spl_autoload_unregister($callback2)); var_dump(spl_autoload_functions()); var_dump(class_exists("TestClass", true)); ?> --EXPECT-- array(2) { [0]=> array(2) { [0]=> object(TrampolineTest)#1 (0) { } [1]=> string(11) "trampoline1" } [1]=> array(2) { [0]=> object(TrampolineTest)#1 (0) { } [1]=> string(11) "trampoline2" } } Trampoline for trampoline1 Trampoline for trampoline2 bool(false) Unregister trampoline: bool(true) bool(false) bool(true) array(0) { } bool(false)