2010-02-02 66 views
1

在大多数项目中,我使用多个布局脚本。PHP:Zend_Layout:在哪里编写业务逻辑?

有时我需要一些布局特定的数据,而不是页面特定的数据。尽管使用哪种布局,IS特定于页面。

所以bootstrap或actioncontroller会是选择布局的好地方。但恕我直言,他们而不是是一个好的地方注入特定的布局所期望的数据。

我能想到的唯一的其他地方就是在布局视图本身中编写一些业务逻辑。虽然这是我宁愿不做的东西:)

你在哪里写你的布局特定的业务逻辑?

- UPDATE

布局特定的业务逻辑可能;

  • 在用户的收件箱中新邮件的当前登录的用户
  • 量的用户名
  • 随机“你知道......?”尖
+0

您可以举一些*布局特定的业务逻辑*的例子吗? – Gordon 2010-02-02 11:09:31

+0

只是更新了问题 – Maurice 2010-02-02 11:59:17

回答

2

这样的东西是最好的,从一个视图助手

class ViewHelper_RandomTip 
{ 
    public function randomTip() 
    { 
     $tip = TipsModel::getRandom(); 
     return "<div><h1>Random Tip</h1><p>$tip</p></div>"); 
    } 
    // ... 
} 

然后在你的布局完成后,用

echo $this->randomTip(); 

注意,这是不打算在任何地方运行示例代码使用它。具体如何从助手访问模型以及如何返回内容完全取决于您。您还必须找到一种方法将ViewHelpers与布局一起注册。而且会有人告诉你,你可能无法访问从视图模型(这是错误的)

另请参阅以下相关问题:

并看看如何Zend Framework做这种工作further information

+0

非常感谢,也为额外信息的链接。帮我出去很多。 – Maurice 2010-02-02 12:59:15