這篇文章將為大家詳細講解有關(guān)yii實現(xiàn)不加載layout布局文件的方法,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
尼元陽ssl適用于網(wǎng)站、小程序/APP、API接口等需要進行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)公司的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18980820575(備注:SSL證書合作)期待與您的合作!
Yii框架默認渲染模板的時候會渲染布局,新創(chuàng)建的項目也包含了3個默認的布局:main.php
、column1.php
、column2.php
,并且默認創(chuàng)建了一個公共控制器Controller.php
(在components目錄下),默認的SiteController.php
是繼承的這個Controller.php,這個控制器指定了布局文件為column1.php
。
首先讓我們看看渲染一個模板需要經(jīng)過哪些步驟:
1、控制器中通過 $this->render('index')
來開始渲染index.php視圖文件;
2、在渲染index時,首先將index.php
中的php腳本解析完畢,然后將解析的結(jié)果保存到$content
變量里;
3、系統(tǒng)檢查是否指定布局文件,先找控制器的$this->layout
屬性,如果這個值不為空的話,則再render()
渲染這個布局文件,將$content
值作為布局文件中的變量,也就是在布局文件中使用即可輸出index.php里解析好的內(nèi)容,而這個layout在
Controller
中默認指定為了column1.php
,在這個布局里,又嵌套了項目默認的布局文件main.php。
4、如果控制器沒有指定layout屬性,則會去找項目配置中的layout屬性,也就是main.php
中的layout屬性,而這個屬性不需要人工指定,默認就是views/layouts/main.php
文件。通過render
解析這個布局文件,將index.php的內(nèi)容作為$content變量穿進去。
也就是說,按照默認情況,我們渲染一個視圖需要渲染3個文件,分別是index.php
、column1.php
、main.php
。
對于不習(xí)慣布局模式的人來說,這無疑增加了麻煩。
關(guān)閉方法:
不過關(guān)閉布局模式很簡單,你可以將Controller
中的 layout
屬性設(shè)置為false
即可。
示例如下:
SiteController extends Controller{ public $layout=false; //重寫這個屬性就可以了 //其他方法 }
關(guān)于“yii實現(xiàn)不加載layout布局文件的方法”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。