Yii2——layout查找顺序-创新互联

1.1 layout查找顺序

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

创新互联建站主要从事网站设计制作、做网站、网页设计、企业做网站、公司建网站等业务。立足成都服务芦溪,十余年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18980820575

public functionfindLayoutFile($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。

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


网站题目:Yii2——layout查找顺序-创新互联
网站网址:http://myzitong.com/article/coogdg.html