1

spl_autoloader_register 関数を使用して単純なオートローダーを作成しました。仮想サーバーでは正常に動作しますが、サーバーでは「致命的なエラー: クラス 'X' が見つかりません」というメッセージしか表示されませんでした。PHP 5.4を搭載したMacで実行していますが、物理サーバーと同じ5.3バージョンのwindows/ubuntuでも動作します。私はそれにSSHアクセスできません。ここに私のオートロードコードがあります:

class Load
{   
    public static function autoload($class)
    {    
        $class = strtolower($class);        
        $lib =  $_SERVER['DOCUMENT_ROOT'] . BASENAME . "/libs/{$class}.php";        
        $model =  $_SERVER['DOCUMENT_ROOT'] . BASENAME . "/models/{$class}.class.php";  
        $controller =  $_SERVER['DOCUMENT_ROOT'] . BASENAME . "/controllers/{$class}.php";  

        if(is_readable($lib)){
            require_once $lib;  
        }elseif (is_readable($model)) {
            require_once $model;        
        }elseif (is_readable($controller)){
            require_once $controller;
        }
    }

}
spl_autoload_register("Load::autoload");

私は常にローカルアプリに spl を使用していましたが、サーバーで試すのは初めてです。より良い実践のためのアドバイスは役に立ちます。ありがとう

4

1 に答える 1