Yii 2—— layout查找顺序

简介:

1.1  layout查找顺序

在应用中添加了一个模块,但是还没有给模块添加layouts,结果发现页面还是可以正常显示,只是layout用的是应用级的layout,有点好奇,于是跟了下代码,在yii2\base\Controller.phpfindLayoutFile()看到有如下代码:

public function findLayoutFile($view)
 {
     
$module $this->module;
     if 
(is_string($this->layout)) {
         
$layout $this->layout;
     
elseif ($this->layout === null) {
         
while ($module !== null &&  $module->layout === null) {
             $module =  $module->module;
         }
 
        if ($module !== null && is_string($module->layout)) {
             
$layout $module->layout;
         
}
     }

 

红色部分代码含义就是当在当前模块没有找到layout时,就上溯到父模块,寻找父模块的layout,以此类推,直到最后找到可用的layout






本文转自 tywali 51CTO博客,原文链接:http://blog.51cto.com/lancelot/1875617,如需转载请自行联系原作者

目录
相关文章
|
5月前
|
缓存 大数据 Android开发
Android 巧用putBinder方法传递大文件
Android 巧用putBinder方法传递大文件
137 0
|
6月前
|
XML 应用服务中间件 Apache
通配符的匹配很全面, 但无法找到元素 ‘context:component-scan‘ 的声明。
通配符的匹配很全面, 但无法找到元素 ‘context:component-scan‘ 的声明。
|
XML 数据格式
解决问题:通配符的匹配很全面, 但无法找到元素 ‘context:component-scan‘ 的声明~
解决问题:通配符的匹配很全面, 但无法找到元素 ‘context:component-scan‘ 的声明~
156 1
|
前端开发 Go 图形学
Unity中查找子组件GameObject或Component的操作汇总
Unity中查找子组件GameObject或Component的操作汇总
162 0
|
XML Java Android开发
Android 中通过Java代码动态生成EditText视图,并循环遍历EditText取出遍历的ID和文本框的值
Android 中通过Java代码动态生成EditText视图,并循环遍历EditText取出遍历的ID和文本框的值
141 0
|
Android开发
Android 踩坑记录,用.split()方法分割字符串返回null
Android 踩坑记录,用.split()方法分割字符串返回null
|
XML Dubbo Java
通配符的匹配很全面, 但无法找到元素 'context:component-scan' 的声明
通配符的匹配很全面, 但无法找到元素 'context:component-scan' 的声明
|
XML 开发框架 .NET
30天C#基础巩固----查找XML文件元素
30天C#基础巩固----查找XML文件元素
407 0
30天C#基础巩固----查找XML文件元素
YII2 关联查询,不修改search, 使用 GridView::widget 输出
找半天没找到相关的  都要改search方法,  请教高手得到如下方法  2步骤实现. YII2 model中使用get 关联表查询   注意 条件中后面一个字段是当前表的字段odel中添加方法: 视图中输出方式: 方框1 是方法名去掉 get  首字母小写 方框2 是需要的字段名 次方法 框架中...
1340 0
|
容器 缓存
Android--Fragment 实现懒加载和不重复加载
版权声明:本文为博主原创文章,转载请标明出处。 https://blog.csdn.net/chaoyu168/article/details/79217223 基类: package fragment; import android.
1502 0