這篇文章將為大家詳細(xì)講解有關(guān)yii實(shí)現(xiàn)不加載layout布局文件的方法,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

Yii框架默認(rèn)渲染模板的時(shí)候會(huì)渲染布局,新創(chuàng)建的項(xiàng)目也包含了3個(gè)默認(rèn)的布局:main.php、column1.php、column2.php,并且默認(rèn)創(chuàng)建了一個(gè)公共控制器Controller.php(在components目錄下),默認(rèn)的SiteController.php是繼承的這個(gè)Controller.php,這個(gè)控制器指定了布局文件為column1.php。
首先讓我們看看渲染一個(gè)模板需要經(jīng)過(guò)哪些步驟:
1、控制器中通過(guò)$this->render('index')來(lái)開(kāi)始渲染index.php視圖文件;
2、在渲染index時(shí),首先將index.php中的php腳本解析完畢,然后將解析的結(jié)果保存到$content變量里;
3、系統(tǒng)檢查是否指定布局文件,先找控制器的$this->layout屬性,如果這個(gè)值不為空的話(huà),則再render()渲染這個(gè)布局文件,將$content值作為布局文件中的變量,也就是在布局文件中使用<?php echo $content;?>即可輸出index.php里解析好的內(nèi)容,而這個(gè)layout在Controller中默認(rèn)指定為了column1.php,在這個(gè)布局里,又嵌套了項(xiàng)目默認(rèn)的布局文件main.php。
4、如果控制器沒(méi)有指定layout屬性,則會(huì)去找項(xiàng)目配置中的layout屬性,也就是main.php中的layout屬性,而這個(gè)屬性不需要人工指定,默認(rèn)就是views/layouts/main.php文件。通過(guò)render解析這個(gè)布局文件,將index.php的內(nèi)容作為$content變量穿進(jìn)去。
也就是說(shuō),按照默認(rèn)情況,我們渲染一個(gè)視圖需要渲染3個(gè)文件,分別是index.php、column1.php、main.php。
對(duì)于不習(xí)慣布局模式的人來(lái)說(shuō),這無(wú)疑增加了麻煩。
關(guān)閉方法:
不過(guò)關(guān)閉布局模式很簡(jiǎn)單,你可以將Controller中的layout屬性設(shè)置為false即可。
示例如下:
SiteController extends Controller{
public $layout=false; //重寫(xiě)這個(gè)屬性就可以了
//其他方法
}關(guān)于“yii實(shí)現(xiàn)不加載layout布局文件的方法”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。
分享標(biāo)題:yii實(shí)現(xiàn)不加載layout布局文件的方法-創(chuàng)新互聯(lián)
當(dāng)前鏈接:http://chinadenli.net/article42/eojec.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化、網(wǎng)站導(dǎo)航、微信公眾號(hào)、Google、做網(wǎng)站、網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容