Php Yii布局视图文件:beginContent()方法默认值

Php Yii布局视图文件:beginContent()方法默认值,php,yii,Php,Yii,我正在玩Yii的布局,有一个问题需要你的帮助。 当我查看布局视图文件:“column1.php”时,我看到了beginContent()方法: 当我读到一本指南书“使用Yii进行敏捷web开发”时,它说:[引用]正在指定的视图 这是我们的主布局页面“layouts/main”。如果未指定任何内容,则将使用默认布局 在控制器级别指定,如果未在控制器级别指定,则在 应用程序级别。[/quote] 据我所知,在控制器级别指定的布局是“layout/column1”(正如我选中的值$this->la

我正在玩Yii的布局,有一个问题需要你的帮助。 当我查看布局视图文件:“column1.php”时,我看到了beginContent()方法:


当我读到一本指南书“使用Yii进行敏捷web开发”时,它说:[引用]正在指定的视图 这是我们的主布局页面“layouts/main”。如果未指定任何内容,则将使用默认布局 在控制器级别指定,如果未在控制器级别指定,则在 应用程序级别。[/quote] 据我所知,在控制器级别指定的布局是“layout/column1”(正如我选中的值$this->layout)。因此,如果我在beginContent()方法中将此布局留空,那么它将呈现“layout/column1”,对吗? 如果是这样,新加载的布局将重新加载“layout/colum1”,因为在此新加载的布局上没有传递给beginContent()方法的布局值。如果这会返回一个错误

但是,当我将这个布局值留空时。视图文件仍按正常方式加载。没有发生错误。 我对这件事感到非常惊讶

有人能告诉我发生了什么事吗


谢谢。

您的控制器类是否扩展控制器?布局也在那里定义(/components/Controller.php),并确保在应用程序配置(/config/main.php)中没有定义布局
<?php $this->beginContent('//layouts/main'); ?>