可以在zend框架中使用hmvc模式吗?默认情况下,它是在kohana 3中实现的,我非常喜欢它,所以现在我想在zend框架中使用它。
编辑
我希望能够:
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;
    }
}

最佳答案

这取决于,你想做什么。
可能操作堆栈或操作视图帮助程序会帮您完成这项工作,但这可能不是最好的解决方案,因为调度开销(可能会在zf2中被删除)。
第二种方法是视图助手,直接调用控制器中的模型和操作。您可以使用动作助手(以及对它们的静态调用)来访问控制器逻辑。
另外,请参阅以下博客文章:
Using Action Helpers To Implement Re-Usable Widgets - phly, boy, phly

10-04 22:14