如何理解Yii目錄結(jié)構(gòu)、入口文件及路由設(shè)置-創(chuàng)新互聯(lián)

本篇內(nèi)容主要講解“如何理解Yii目錄結(jié)構(gòu)、入口文件及路由設(shè)置”,感興趣的朋友不妨來看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“如何理解Yii目錄結(jié)構(gòu)、入口文件及路由設(shè)置”吧!

創(chuàng)新互聯(lián)建站2013年至今,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都網(wǎng)站建設(shè)、網(wǎng)站制作網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元榆社做網(wǎng)站,已為上家服務(wù),為榆社各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:13518219792

1,項(xiàng)目目錄結(jié)構(gòu)分析


如何理解Yii目錄結(jié)構(gòu)、入口文件及路由設(shè)置

如何理解Yii目錄結(jié)構(gòu)、入口文件及路由設(shè)置

2,Yii入口文件分析

如何理解Yii目錄結(jié)構(gòu)、入口文件及路由設(shè)置

在Yii啟動(dòng)項(xiàng)目時(shí),傳遞了項(xiàng)目主配置文件數(shù)組,那么Yii會(huì)在整個(gè)應(yīng)用中綁定一個(gè)全局的Yii對(duì)象并且可以通過如下方法來調(diào)用該對(duì)象:Yii::app()

Yii系統(tǒng)把配置文件中的數(shù)組值,通過鍵值對(duì)的形式綁定到了該對(duì)象上,例如在配置文件中我們配置了:

'name'=>'My Web Application',

那么我們?cè)陧?xiàng)目的任何一個(gè)地方通過該對(duì)象的屬性就可以獲取到“name”的值,方法為:

Yii::app()->name;

3,Yii路由設(shè)置


如何理解Yii目錄結(jié)構(gòu)、入口文件及路由設(shè)置

同時(shí)應(yīng)該知道:對(duì)于控制器名,Yii首先會(huì)檢測(cè)當(dāng)前的控制器名是否是一個(gè)“模塊名”,如果是模塊名則先定位到模塊。

“模塊”會(huì)在后面搭建項(xiàng)目的時(shí)候解釋。

通過上面的路由訪問到的就是:SiteController.php類文件下的SiteController類中的actionIndex方法

控制器文件位于:protected/controllers 目錄下,也就是我們的控制器文件存放目錄

注意Yii中控制器文件和動(dòng)作方法名的書寫方式,控制器有統(tǒng)一的后綴”Controller“,動(dòng)作方法也有統(tǒng)一的前綴”action“,同時(shí)要求動(dòng)作方法名的命名規(guī)范符合”除第一個(gè)單詞外其它每個(gè)單詞的首字母要大寫“

由于Yii默認(rèn)的控制器名為:site

默認(rèn)的動(dòng)作名為:index

因此上述通過指定控制器名動(dòng)作名訪問的路徑和直接訪問:http://localhost/testyii/   的效果是一致的

4,視圖調(diào)用


在動(dòng)作方法中,調(diào)用:$this->render('index');

來為對(duì)應(yīng)的動(dòng)作方法指定視圖文件,視圖文件位于:protected/views/site  目錄下

其中:site為對(duì)應(yīng)的控制器名文件夾,每個(gè)控制器名在視圖中都應(yīng)該具有一個(gè)的文件夾名與其相對(duì)應(yīng)

然后在動(dòng)作方法中通過‘index'來指定顯示的具體視圖文件是site控制器下的指定的‘index.php'視圖文件

另外還需要注意:

調(diào)用視圖的方法有兩個(gè):

$this->render                            ----> 會(huì)調(diào)用模板文件

$this->renderPartial                   -----> 不會(huì)調(diào)用模板文件

它們之間的區(qū)別,也如上所述。

5,視圖模板設(shè)置


打開SiteController.php文件,其中的代碼截圖如下:

如何理解Yii目錄結(jié)構(gòu)、入口文件及路由設(shè)置

我們發(fā)現(xiàn):Yii應(yīng)用中,每個(gè)控制器都要繼承自公共控制器“Controller”

然后打開“Controller”控制器文件:Controller.php,它位于:protected/components  目錄下

“Controller”控制器代碼截圖如下:

如何理解Yii目錄結(jié)構(gòu)、入口文件及路由設(shè)置

Yii通過:public $layout='//layouts/column1'; 來指定動(dòng)作方法的公共模板文件

公共模板文件位于:protected/views/layouts 目錄下,如下圖:

如何理解Yii目錄結(jié)構(gòu)、入口文件及路由設(shè)置

現(xiàn)在我們來創(chuàng)建我們的模板文件:testlayout.php,代碼如下:

如何理解Yii目錄結(jié)構(gòu)、入口文件及路由設(shè)置

其中”<?php echo $content; ?>“為Yii中規(guī)定的模板文件中的內(nèi)容替換方法

然后,修改 ”Controller“控制器中的模板文件為:public $layout='//layouts/testlayout';

然后訪問:http://localhost/testyii/index.php?r=site/index    結(jié)果如圖:

如何理解Yii目錄結(jié)構(gòu)、入口文件及路由設(shè)置

然后我們發(fā)現(xiàn),模板文件已經(jīng)變成我們自己指定的了,然后假如你不需要視圖文件渲染模板文件,那么你可以在動(dòng)作方法中調(diào)用視圖文件的時(shí)候使用:$this->renderPartial  方法

或者你整個(gè)項(xiàng)目都不需要調(diào)用模板文件,那么你可以在動(dòng)作方法中調(diào)用視圖文件時(shí)全部用:$this->renderPartial

也或者將視圖模板文件設(shè)置為”空“,例如:public $layout='';

到此,相信大家對(duì)“如何理解Yii目錄結(jié)構(gòu)、入口文件及路由設(shè)置”有了更深的了解,不妨來實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)建站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

新聞名稱:如何理解Yii目錄結(jié)構(gòu)、入口文件及路由設(shè)置-創(chuàng)新互聯(lián)
文章分享:http://www.muchs.cn/article18/cdeddp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名、Google網(wǎng)站導(dǎo)航、手機(jī)網(wǎng)站建設(shè)、網(wǎng)站策劃標(biāo)簽優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設(shè)