今天我在zf2中编写了一个已编写的代码。
我想知道header.phtml文件中我的布局文件夹中有两行:
行<?php echo $this->layout()->face_login_url; ?>
和<?php echo $face_login_url; ?>
。
两者都给出相同的输出,那有什么区别?
答案 0 :(得分:2)
header.phtml
是布局的视图脚本。这是在&#39; root&#39;上设置的。查看模型实例并允许将变量分配给它,就像从控制器操作返回的ViewModel实例一样。
视图中的这些变量为extracted,允许在header.phtml
文件中使用以下内容。
echo $this->face_login_url
echo $face_login_url;
第二行是对Layout View Helper的调用。
此帮助程序可让您轻松访问布局或“根”。视图模型(渲染header.phtml
时使用的相同ViewModel 实例)。因此,第二行实际上是访问相同的变量。为了避免不必要的开销,只需要在header.phtml
的外使用。
echo $this->layout()->face_login_url;