博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Yii学习笔记:关闭layout,让layout见鬼去
阅读量:6353 次
发布时间:2019-06-22

本文共 864 字,大约阅读时间需要 2 分钟。

  hot3.png

Yii框架默认渲染模板的时候会渲染布局,新创建的项目也包含了3个默认的布局:main.php column1.php column2.php,并且默认创建了一个公共控制器 Controller.php(在components目录下),默认的SiteController.php是继承的这个Controller.php,这个控制器指定了布局文件为column1.php。
让我们看看渲染一个模板需要经过哪些步骤:
1.控制器中通过 $this->render('index'); 来开始渲染index.php视图文件
2.在渲染index时,首先将index.php中的php脚本解析完毕,然后将解析的结果保存到$content变量里
3.系统检查是否指定布局文件,先找控制器的$this->layout 属性,如果这个值不为空的话,则再render()渲染这个布局文件,将$content值作为布局文件中的变量,也就是在布局文件中使用<?php echo $content;?>即可输出index.php里解析好的内容,而这个layout在Controller中默认指定为了column1.php,在这个布局里,又嵌套了项目默认的布局文件main.php.
4 .如果控制器没有指定layout属性,则会去找项目配置中的layout属性,也就是main.php中的layout属性,而这个属性不需要人工指定,默认就是views/layouts/main.php文件。通过render解析这个布局文件,将index.php的内容作为$content变量穿进去。
也就是说,按照默认情况,我们渲染一个视图需要渲染3个文件,分别是 index.php  column1.php main.php 。
对于不习惯布局模式的人来说,这无疑增加了麻烦。
其实关闭布局模式很简单,你可以将Controller中的 layout属性设置为false即可。

转载于:https://my.oschina.net/cxz001/blog/179248

你可能感兴趣的文章
《音乐达人秀:Adobe Audition实战200例》——实例4 收音机音乐节目转录到电脑里...
查看>>
《JavaScript应用程序设计》一一3.1 过时的类继承
查看>>
千万PV是什么意思?
查看>>
Amazon 推出 API 网关使用计划
查看>>
互联网流量超出路由器上限 或致全球断网
查看>>
《基于ArcGIS的Python编程秘笈(第2版)》——2.5 限制图层列表
查看>>
GNOME 地图 3.20 加入更多新特性 可用性得到加强
查看>>
《代码整洁之道:程序员的职业素养》导读
查看>>
《计算复杂性:现代方法》——习题
查看>>
Mozilla 释出更新修复中间人攻击漏洞
查看>>
思科表态反对网络中立
查看>>
《HTML5+CSS3网页设计入门必读》——1.5 利用多种Web浏览器执行测试
查看>>
Velocity官方指南-容器
查看>>
国家为何如此重视石墨烯?
查看>>
《Python和Pygame游戏开发指南》——1.14 配套网站上的更多信息
查看>>
Kafka+Flink 实现准实时异常检测系统
查看>>
利用mybatis查询两级树形菜单
查看>>
《慕客网:IOS基础入门之Foundation框架初体验》学习笔记 <一>
查看>>
Spring声明式事务管理之二:核心接口API
查看>>
LNMP环境安装(二)
查看>>