【发布时间】:2010-10-14 13:58:09
【问题描述】:
是否可以在 Zend Framework 中使用 HMVC 模式?它默认在 Kohana 3 中实现,我非常喜欢它,所以现在我想在 Zend Framework 中使用它。
编辑
我希望能够: 1)在另一个请求中包含一个完整的请求(如控制器/动作) 2) 如上所述直接调用控制器/动作
它不仅用于小部件,而且我还想构建一个包含其他页面内容的页面......
编辑 2
更清楚一点: 我确实有一个包含多个元素的页面对象。这些元素可以是简单元素(文本、图像等)和特殊元素,它们是控制器:动作调用。每个页面都可以包含“无限”(特殊)元素。我只是想遍历这些元素,定义我正在处理的元素类型并将该元素的结果添加到我的视图内容中。
喜欢:
foreach($Page->Elements AS $Element) {
switch(get_class($Element)) {
case "Base\TextElement":
// Add text element to content
...
break;
case "Base\SpecialElement":
// Get result of the controller:action call
break;
case "Base\ImageElement":
// Add image element to content
...
break;
default:
echo "No case defined for ".get_class($Element);
die;
}
}
【问题讨论】:
-
在某种程度上,您可以使用 zend 视图助手framework.zend.com/manual/en/zend.view.helpers.html 它允许您从视图中调用控制器并进行交互,但我不是 HMVC 专家 :)
-
我想将 controller_actions 包含在其他页面中,但也作为主页。据我所知,这对于助手来说是不可能的(除非你想把它弄脏)。
-
我对 HMVC 不是很熟悉,但是操作堆栈在本质上是不是效率不高?这可能很有趣:stackoverflow.com/questions/1558909/…
标签: php zend-framework hmvc