涉及到基類的加載有一個小細節需要注意,具體方案如下。
解決方案
通過如下代碼可以自動加載需要的文件,當php腳本運行時找不到需要的文件,就會自動調用 spl_autoload_register 方法。參數 $classname 可以自定義,其值一定是未找到的類的名字(如果調用的時候帶上了命名空間,那么這個參數也會帶上命名空間)。
spl_autoload_register(function ($classname) { $root = rtrim(dirname(__DIR__), / ) . / $path = str_replace( // , DIRECTORY_SEPARATOR, strtolower($classname)); require $root. path/BaseService.php require $root.$path. .php });
其中 spl_autoload_register 方法的參數可以是個匿名函數,也可以是一個方法的名字(字符串類型)
spl_autoload_register( yourFunction function yourFunction($classname) { $root = rtrim(dirname(__DIR__), / ) . / $path = str_replace( // , DIRECTORY_SEPARATOR, strtolower($classname)); require $root. path/BaseService.php require $root.$path. .php });
需要注意的是,如果加載的類是繼承了另外的一個類,那么需要將基類優先加載 ,然后再加載子類,不然會出現找不到文件,類未定義的錯誤,即 要注意加載文件的順序 。
相關推薦:
php中自定義類文件自動加載
以上就是php自動加載類文件如何使用?php自動加載基類文件的具體實現方案(代碼)的詳細內容,PHP教程
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。
新聞熱點
疑難解答