如下是Yii相關配置的總結:
1,/protected/config/main.php中的配置:
1)
修改默認
Controller
,下載下來的源代碼
默認
Controler
爲
siteController
:
在
protected/config/main.php
中,修改鍵
defaultController
的值爲指定的
controller
,在該
controller
中須指定默認
action
。當
request
中未明確目的時,採用
defaultController/defaultAction
來響應。
'defaultController'=>'main',
設置後訪問網站根路徑便可跳到對應的
Controller
:
MainController.php
下載下來的源代碼
默認爲
site
,是在yiilite.php文件中指定,因此示例中跳轉到
SiteController.php
2)
修改默認登陸
action
:
當未知名登陸頁面時,當未登陸而訪問須要登陸的頁面時,
Yii
會跳轉到默認登陸
Action
,默認
Action
爲
site/login
,這也能夠在
main.php
或模塊配置文件中自定義
'components'=>array(
'user'=>array(
'allowAutoLogin'=>true,
'loginUrl'=>array('main/login.html'),
),
…
3)
數據庫鏈接的定義:
'db'
=>
array
(
'connectionString'
=>
'mysql:host=localhost;dbname=db_schema'
,
'emulatePrepare'
=>
true
,
'username'
=>
'root'
,
'password'
=>
'123'
,
'charset'
=>
'utf8'
,
'tablePrefix'
=>
'zz_'
,
),
4)
默認錯誤
Action
的定義,發生錯誤時將調用該
Action
:
'errorHandler'
=>
array
(
'errorAction'
=>
'main/error'
,
),
5)
添加模塊:
'modules'=>array(
…, //
其它模塊
'admin',
),
添加以後方可經過路徑訪問:
或者:
6)
配置和修改
Yii
代碼生成工具
Gii
:
'modules'
=>
array
(
'gii'
=>
array
(
'class'
=>
'system.gii.GiiModule'
,
'password'
=>
'123'
,
'ipFilters'
=>
array
(
'127.0.0.1'
,
'::1'
),
),
2,在Controller
中的定義:
Controller
的父類爲
CController
,其中定義了
Controller
的一些變量。
1)
定義
Layout
:
public $layout='/layouts/admin';
//
表示絕對路徑,
/
表示相對路徑
2)
定義默認
Action
:
public $defaultAction='index';
3,在模塊Modules
中的定義,如AdminModule
:
1)
模塊類的父類
CWebModule
中定義了部分變量:
public $defaultController='default';
public $layout;
public $controllerNamespace;
Yii::app()->errorHandler->errorAction = 'admin/default/error';
3)
AdminModule init
函數中定義模塊內默認
Controller
:
Yii::app()->defaultController = 'admin/default';
4)
AdminModule init
函數中定義模塊內默認登陸
Action
:
Yii::app()->user->loginUrl = 'admin/default/login';