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();


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章