国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > ThinkPHP > 正文

ThinkPHP類文件自動加載機制

2024-09-09 15:20:09
字體:
來源:轉載
供稿:網友

默認的ThinkPHP將調用function __autoload()來查找相應的類文件,或者可以通過define('APP_AUTOLOAD_REG',1)來調用spl_autoload_register(array('Think', 'autoload'));

但是我看了一下Think::autoload和__autoload函數是一模一樣的,所以看不出這兩種方式有什么實質的不同.

另外可以通過設置項目配置文件里的APP_AUTOLOAD_PATH參數來添加自定義的加載路徑.

1、這里的加載路徑是要符合一定規則的,目錄之間分隔符用點來替換斜杠.

2、自定義加載路徑必須在當前項目的類庫目錄中,或者ThinkPHP的基類目錄中,或者其他項目的類庫目錄中.

如果開頭是@則到當前項目的類庫目錄中查找,比如@.ORG.Page

如果開頭是'think','org','com'之一則到ThinkPHP目錄中查找,比如ORG.DB.Db,則會查找ThinkPHP/Lib/ORG/Db/Db.class.php

已經加載過的類文件的類名會存儲在一個static數組中,當要加載一個類文件之前會先去判斷數組是否該數組中是否存在該類名(包括別名檢測),如果沒有則加載,否則不加載,如果發現導入了不同的位置下面的同名類庫文件,系統會提示沖突.

ThinkPHP雖然不像ThinkPHP中那樣自由地定義自動加載規則,但是通過指定“默認查找的加載路徑”這樣的方法是比較簡單而且對于應用來說我認為是足夠了,因為很少情況需要去定義一個自動加載規則,另外zend的自動加載機制比較準確,直接定位到目標文件的位置,而ThinkPHP會去每個“自動加載搜索路徑”中去匹配是否存在該文件,當然Tp中匹配該文件并不是去遍歷搜索路徑目錄區匹配,而是直接定位.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 库尔勒市| 苏州市| 安远县| 丹棱县| 阳信县| 绥中县| 三江| 苍南县| 若羌县| 大田县| 泸州市| 永靖县| 富蕴县| 合水县| 阜平县| 昌黎县| 铜陵市| 武乡县| 洛阳市| 广安市| 东港市| 兴文县| 仲巴县| 修武县| 独山县| 石楼县| 江陵县| 乡城县| 静安区| 龙海市| 邓州市| 营山县| 安顺市| 新昌县| 汉沽区| 柳州市| 兰州市| 长宁区| 乌海市| 玉屏| 滨海县|