【问题标题】:Zend framework Nesting controllersZend 框架嵌套控制器
【发布时间】:2012-04-22 08:07:06
【问题描述】:

Zend 框架嵌套控制器

我想知道是否可以使用嵌套控制器。

我有一个应用程序,它的页面带有左栏和右栏。


              | --TAB----TAB----TAB--
   MyGroups   |
              |

所以我想让一个控制器作为整个页面的包装器 然后将 myGroups 控制器用于左侧栏,对于右侧,有许多选项卡会根据某些选择显示。 所以我希望每个标签都有一个控制器。

这是一个非常大的应用程序,每个选项卡都可以做很多其他事情。 所以我想为每个选项卡以及左侧的 myGroups 设置单独的控制器/模型/视图/布局。

解决此问题的最佳方法是什么。 如果您也给我一些代码结构,我将不胜感激。

非常感谢。 亚历克斯

【问题讨论】:

    标签: model-view-controller zend-framework frameworks controller nested


    【解决方案1】:

    您可以在布局中为每个或左右栏使用Action view-helper。但是这样做的缺点是您会产生三个完整的服务器调用(完整的引导和调度周期)来呈现单个页面。我认为这是一个相当大的缺点,特别是如果每​​个栏都需要自己的数据库连接。

    另一种方法是将front-controller plugins 用于您的左右栏。在引导程序中注册它们,给它们一个postDispatch() 钩子,它可以访问/生成它们需要的任何数据,并将该数据放入布局/视图中。然后,您的布局会呈现内容,而无需知道它是如何到达那里的。

    【讨论】:

    • 感谢大卫,您的回答非常完整。我会试试的。
    • 查看this answer 了解更多关于在插件中访问布局/视图的详细信息。
    • 如果一切顺利,别忘了点击复选标记“接受”答案。见FAQ。 ;-) 欢迎来到 SO!
    【解决方案2】:

    如果您使用 David 建议的“action view-helper”,您始终可以将这些 ajax 放入以获得更好的用户体验 - 因此用户可以在等待页面的其余部分时阅读当前已加载的内容。

    【讨论】:

    • 谢谢 Eddie,我会考虑这个 :-),我会发布我的最终解决方案。
    猜你喜欢
    • 1970-01-01
    • 2013-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-01
    相关资源
    最近更新 更多