PHP類自動ローディング機構

838 ワード

バージョン
PHP 5.1.2前は__uを使用しています.autload()PHP 5.1.2以降はspl_を使用します.autload_レジスター本文はspl_であるautload_レジスターがデモンストレーションを行う.
ディレクトリを含める
  • appration/controllers
  • appication/models
  • appication/libs
  • コードの実装
    //    
    $include_dir = [
      'application/controllers',
      'application/models',
      'application/libs'
    ]
    //      
    set_include_path(get_include_path() . PATH_SEPARATOR .implode(PATH_SEPARATOR, $include_dir));
    /**
     *       
     * @param string $class   
     */
    function auto_load_class($class = '')
    {
        //        ,          。
        //     :   _   
        $path = strtolower($class) . '.class.php';
        include_once($path);
    }
    spl_autoload_register('auto_load_class'); //spl      
    $obj = new   (); //   
    $obj->   ();
    //                  ,           。
    
    Thanks~