Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP:Zend_布局:在哪里编写业务逻辑?_Php_Zend Layout - Fatal编程技术网

PHP:Zend_布局:在哪里编写业务逻辑?

PHP:Zend_布局:在哪里编写业务逻辑?,php,zend-layout,Php,Zend Layout,在大多数项目中,我使用多个布局脚本 有时,我需要在布局中使用特定于布局的数据,而不是特定于页面的数据。不过,使用哪种布局是特定于页面的 因此,引导或actioncontroller是选择布局的好地方。但依我看,它们不是注入特定布局所期望的数据的好地方 我唯一能想到的另一个地方就是在布局视图脚本本身中编写一些业务逻辑。虽然我也不想这样做: 您在哪里编写特定于布局的业务逻辑 -更新: 布局特定的业务逻辑可以是 当前登录用户的用户名 用户收件箱中新邮件的数量 你知道吗。。?提示 像这样的事情最好由Vi

在大多数项目中,我使用多个布局脚本

有时,我需要在布局中使用特定于布局的数据,而不是特定于页面的数据。不过,使用哪种布局是特定于页面的

因此,引导或actioncontroller是选择布局的好地方。但依我看,它们不是注入特定布局所期望的数据的好地方

我唯一能想到的另一个地方就是在布局视图脚本本身中编写一些业务逻辑。虽然我也不想这样做:

您在哪里编写特定于布局的业务逻辑

-更新:

布局特定的业务逻辑可以是

当前登录用户的用户名 用户收件箱中新邮件的数量 你知道吗。。?提示
像这样的事情最好由ViewHelper完成

class ViewHelper_RandomTip
{
    public function randomTip()
    {
         $tip = TipsModel::getRandom();
         return "<div><h1>Random Tip</h1><p>$tip</p></div>");
    }
    // ...
}
请注意,这是不打算在任何地方运行的示例代码。如何从帮助器访问模型以及如何返回内容完全取决于您自己。您还必须找到将ViewHelper注册到布局的方法。有人会告诉你,你可能无法从错误的视图访问模型

另请参见以下相关问题:


请看一看这类业务是如何运作的。

您能举一个特定于布局的业务逻辑示例吗?非常感谢您提供了指向其他信息的链接。帮了我很多忙。
echo $this->randomTip();