在研究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());