国产探花免费观看_亚洲丰满少妇自慰呻吟_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中匹配該文件并不是去遍歷搜索路徑目錄區匹配,而是直接定位.

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

圖片精選

主站蜘蛛池模板: 鄂温| 晋宁县| 宁波市| 新龙县| 阿坝| 梧州市| 丰镇市| 洪江市| 石屏县| 山阳县| 静海县| 舒兰市| 正蓝旗| 潼关县| 天峨县| 东方市| 南木林县| 和政县| 双峰县| 娄烦县| 望谟县| 无极县| 林州市| 汽车| 北票市| 枞阳县| 清远市| 独山县| 永城市| 化州市| 荔浦县| 许昌市| 柘城县| 天镇县| 马龙县| 河西区| 石首市| 微山县| 连州市| 正安县| 中卫市|