Annotation of embedaddon/php/ext/spl/tests/spl_autoload_013.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: SPL: spl_autoload_functions() with closures and invokables
! 3: --FILE--
! 4: <?php
! 5: $closure = function($class) {
! 6: echo "a called\n";
! 7: };
! 8:
! 9: class Autoloader {
! 10: private $dir;
! 11: public function __construct($dir) {
! 12: $this->dir = $dir;
! 13: }
! 14: public function __invoke($class) {
! 15: var_dump("{$this->dir}/$class.php");
! 16: }
! 17: }
! 18:
! 19: $al1 = new Autoloader('d1');
! 20: $al2 = new Autoloader('d2');
! 21:
! 22: spl_autoload_register($closure);
! 23: spl_autoload_register($al1);
! 24: spl_autoload_register($al2);
! 25:
! 26: var_dump(spl_autoload_functions());
! 27:
! 28: ?>
! 29: ===DONE===
! 30: --EXPECTF--
! 31: array(3) {
! 32: [0]=>
! 33: object(Closure)#%d (1) {
! 34: ["parameter"]=>
! 35: array(1) {
! 36: ["$class"]=>
! 37: string(10) "<required>"
! 38: }
! 39: }
! 40: [1]=>
! 41: object(Autoloader)#%d (1) {
! 42: ["dir":"Autoloader":private]=>
! 43: string(2) "d1"
! 44: }
! 45: [2]=>
! 46: object(Autoloader)#%d (1) {
! 47: ["dir":"Autoloader":private]=>
! 48: string(2) "d2"
! 49: }
! 50: }
! 51: ===DONE===
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>