spl_autoload_register和__autoload

今天哥们说我们写的类加载应该用 spl_autoload_register ,说是 __autoload()会产生冲突,还有漏洞。

spl_autoload_register
(PHP 5 >= 5.1.2)
spl_autoload_register ― 注册__autoload()函数
例子:
使用__autoload的写法
function __autoload($class){  
    $file = $class . '.php';  
     if (is_file($file)) {  
           require_once($file);  
      }  
}  
$a = new C();

使用自定义加载函数写法

function myload($class){  
      $file = $class . '.php';  
      if (is_file($file)) {  
           require_once($file);  
       }  
}  
spl_autoload_register('myload');  
$a = new C();


class Load{  
   public static function loadClass($class){  
        $file = $class . '.php';  
         if (is_file($file)) {  
                 require_once($file);  
          }  
      }  
}  
spl_autoload_register(array('Loader', 'loadClass'));  
$a = new C();


你可能感兴趣的:(File,__autoload)