spl_autoload_register — 注册给定的函数作为 __autoload 的实现
将函数注册到SPL __autoload函数队列中。如果该队列中的函数尚未激活,则激活它们。
如果在你的程序中已经实现了__autoload()函数,它必须显式注册到__autoload()队列中。因为spl_autoload_register()函数会将Zend Engine中的__autoload()函数取代为spl_autoload()或spl_autoload_call()。
如果需要多条 autoload 函数,spl_autoload_register() 满足了此类需求。 它实际上创建了 autoload 函数的队列,按定义时的顺序逐个执行。相比之下, __autoload() 只可以定义一次。
(PHP 5 >= 5.1.2, PHP 7)
核心实代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
   | <?php   class autoload  {    public static function load( $class name )    {     $filename = "/home/user/class/".$classname."class.php";     if (file_exists($filename )) {        require_once $filename ;      }    }  }    function __autoload( $class name ) {      $filename = "/home/user/class/".$classname."class.php";     if (file_exists($filename )) {        require_once $filename ;    }  }   
  spl_autoload_register( 'autoload::load' ); 
 
 
    spl_autoload_register( '__autoload' );    $foo = new foo();  $foo ->bar();  ?>
   |