首頁  >  文章  >  php教程  >  Yii(yiiframework)框架(四):入口文件index.php

Yii(yiiframework)框架(四):入口文件index.php

黄舟
黄舟原創
2016-12-27 10:57:261641瀏覽

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

 以上就是Yii(yiiframework)框架(四):入口文件index.php的內容,更多相關內容請關注PHP中文網(請注意PHP中文網( www.php.cn)!


陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn