Yii入口檔案:
run();
1、$yii=dirname(__FILE__).'/../yii/framework/yii.php'; 包含yii框架的引導檔案yii.php,其實就是載入yii基礎類別YiiBase
2、$config=dirname(__FILE__).'/protected/config/main.php'; 定義運用的設定檔。
3、defined('YII_DEBUG') or define('YII_DEBUG',true); 定義是否開啟“調試模式”,預設為開啟,建議在生產模式下關閉
4、defined('YII_TRACE_LEVEL') or define ('YII_TRACE_LEVEL',3); 定義日誌記錄的等級。
Yii 提供了一個靈活可擴充的日誌功能。記錄的日誌可以透過日誌等級和資訊分類進行歸類。透過使用等級和分類過濾器,所選的資訊還可以進一步路由到不同的目的地,例如一個文件,Email,瀏覽器視窗等。
在Yii 中有下列幾種日誌路由可用:
CDbLogRoute: 將資訊儲存到資料庫的表中。
CEmailLogRoute: 發送訊息到指定的 Email 位址。
CFileLogRoute: 將資訊儲存到應用程式 runtime 目錄中的一個檔案。
CWebLogRoute: 將 資訊 顯示在目前頁面的底部。
CProfileLogRoute: 在頁面的底部顯示概述(profiling)資訊。
同時我們也可以在應用程式的設定檔main.php中設定日誌記錄功能:
'log'=>array( 'class'=>'CLogRouter', 'routes'=>array( array( 'class'=>'CFileLogRoute', 'levels'=>'error, warning', ), // uncomment the following to show log messages on web pages /* array( 'class'=>'CWebLogRoute', ), */ ), ),
5、Yii::createWebApplication($config)->run(); 建立CWebApplication類,CWebApplication是一個前端控制器,管理MVC中的控制器,提供核心元件。實例化是透過父類別CApplication的建構子進行路徑別名映射,預先初始化,初始化錯誤和異常handler,註冊框架核心元件(CApplication中的coreMessages、db、message、errorHandler、securityManager、statePersister、urlManager、request、format和CWebApplication中的session、assetManager、user、themeManager、authManager、clientScript、widgetFactory),設定檔的設定數組,新增行為(attachBehaviors),初始化預先載入的元件(設定檔中設定),最後執行init()預先載入CHttpRequest對象。
再回到index.php,執行前端控制器中的run()。首先執行onBeginReques事件如果有的話,接下來處理請求過程,和其他框架一樣,取得路由然後分發路由,透過controller和action對應到指定的控制器檔案。
這裡我們透過一張圖來了解YII框架的工作流程:
以上就是Yii(yiiframework)框架(四):入口文件index.php的內容,更多相關內容請關注PHP中文網(請注意PHP中文網( www.php.cn)!