1 回答

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超4個(gè)贊
1,項(xiàng)目目錄結(jié)構(gòu)分析
2,Yii入口文件分析
在Yii啟動(dòng)項(xiàng)目時(shí),傳遞了項(xiàng)目主配置文件數(shù)組,那么Yii會(huì)在整個(gè)應(yīng)用中綁定一個(gè)全局的Yii對(duì)象并且可以通過(guò)如下方法來(lái)調(diào)用該對(duì)象:Yii::app()
Yii系統(tǒng)把配置文件中的數(shù)組值,通過(guò)鍵值對(duì)的形式綁定到了該對(duì)象上,例如在配置文件中我們配置了:
'name'=>'My Web Application',
那么我們?cè)陧?xiàng)目的任何一個(gè)地方通過(guò)該對(duì)象的屬性就可以獲取到“name”的值,方法為:
Yii::app()->name;
3,Yii路由設(shè)置
同時(shí)應(yīng)該知道:對(duì)于控制器名,Yii首先會(huì)檢測(cè)當(dāng)前的控制器名是否是一個(gè)“模塊名”,如果是模塊名則先定位到模塊。
“模塊”會(huì)在后面搭建項(xiàng)目的時(shí)候解釋。
通過(guò)上面的路由訪問(wèn)到的就是:SiteController.php類(lèi)文件下的SiteController類(lèi)中的actionIndex方法
控制器文件位于:protected/controllers 目錄下,也就是我們的控制器文件存放目錄
注意Yii中控制器文件和動(dòng)作方法名的書(shū)寫(xiě)方式,控制器有統(tǒng)一的后綴”Controller“,動(dòng)作方法也有統(tǒng)一的前綴”action“,同時(shí)要求動(dòng)作方法名的命名規(guī)范符合”除第一個(gè)單詞外其它每個(gè)單詞的首字母要大寫(xiě)“
由于Yii默認(rèn)的控制器名為:site
默認(rèn)的動(dòng)作名為:index
因此上述通過(guò)指定控制器名動(dòng)作名訪問(wèn)的路徑和直接訪問(wèn):http://localhost/testyii/ 的效果是一致的
4,視圖調(diào)用
在動(dòng)作方法中,調(diào)用:$this->render('index');
來(lái)為對(duì)應(yīng)的動(dòng)作方法指定視圖文件,視圖文件位于:protected/views/site 目錄下
其中:site為對(duì)應(yīng)的控制器名文件夾,每個(gè)控制器名在視圖中都應(yīng)該具有一個(gè)唯一的文件夾名與其相對(duì)應(yīng)
然后在動(dòng)作方法中通過(guò)‘index'來(lái)指定顯示的具體視圖文件是site控制器下的指定的‘index.php'視圖文件
另外還需要注意:
調(diào)用視圖的方法有兩個(gè):
$this->render ----> 會(huì)調(diào)用模板文件
和
$this->renderPartial -----> 不會(huì)調(diào)用模板文件
它們之間的區(qū)別,也如上所述。
- 1 回答
- 0 關(guān)注
- 824 瀏覽
添加回答
舉報(bào)