我不明白何时使用Layout
的变量以及何时使用View
的变量来获取页面上页段。 这里是图片格式的Layout
包教程( $this
意味着View
无处不实例):
为什么Navigation
, Content
和Sidebar
段得到的Layout
变量?
$this->layout()->nav;
但是HeadTitle
, HeadScript
, HeadStylesheet
从View直线得到了什么?
$this->headTitle(); // I know that this is a placeholder view helper.
// But this segment of the page logically belongs to Layout.
// and it has to be called smth like view->layout->placeholder
为什么Header
和Footer
是一些partial
的方法View
,但没有Layout
的属性?
$this->partial('header.phtml');
我试图改变他们,两种方式很好地工作:
echo $this->nav; // I assigned navigation segment script to the View and it works;
我试图分配Footer
部分脚本的Layout
,它也可以工作:
$layout->footer = $footer;
echo $this->layout()->footer; // it also works, it's displayed on the page
任何的方法可以应用到页面上的任何变量。 例如,在Navigation
部分我有很多的变量来显示,我可以输出使用他们两种方式-一个变量Layout
的财产,另一个SA View
的属性。
那么,什么是使用它们正确的方式规则? 什么时候应该使用View
的变量,并在Layout
的人?