thinkPHP 如何載入開發者自己定義的類
阿新 • • 發佈:2019-02-14
在研究thinkphp框架時,才真正的瞭解到thinkphp是單入口檔案。通過專案下的index.php進入專案程式,然後進入ThinkPHP公共入口檔案,公共檔案主要定義一些路徑常量,方便以後程式的使用,如圖:
然後就進入了比較重要的含金量大大的ThinkPHP引導類。本部落格中有相關的文章對該類進行了詳細的解讀,在此不再詳細的敘說。
在該類的start方法中有這樣一段程式碼:
// 載入模式別名定義 if(isset($mode['alias'])){ self::addMap(is_array($mode['alias'])?$mode['alias']:include $mode['alias']); } // 載入應用別名定義檔案 if(is_file(CONF_PATH.'alias.php')) self::addMap(include CONF_PATH.'alias.php');
這段程式碼是載入系統定義的基礎類庫和擴充套件類庫的。定義的檔案位置分別為./application/common/conf/alias.php(定義擴充套件類庫) 和。./ThinkPHP/Mode/common.php
沒有可以自己定義,顯然這個目錄下就沒有,可以自己定義。
檔案部分內容如下:都是系統基礎類庫。
比如我有一個類檔案叫做:Lunar.class.php將其放在/Think/目錄下如圖:
最後一個就是我的類,然後在上述的common.php中新增一行
'Think\Lunar' => CORE_PATH . 'Lunar'.EXT,
最後再你的控制器中就可以使用這個類了
$lunar = new \Think\Lunar(); $ldate=$lunar->convertSolarToLunar(date("Y"), date("m"), date("d")); $smonth=date("m",time());