2

我是 zend 框架的新手,这是我在互联网上提出的第一个问题......对不起我的英语不好!我遇到了一个问题,几个小时后我会跳出窗口;)我有一个控制器 A,然后我需要 4 个其他控制器(B、C、D、E)来调用他们的模型并将答案提供给控制器A. 控制器 A 在此之后将其发送到视图。

Zend_Framework 遗憾地不允许这样的事情:

Class Arcticle_SteuerController {
    public function showAction() {
    .....
          $text = new Article_TextController();
          $opt = new Article_OptionController();
          $dates =  new Article_DatesController();

          $varText = $text->showTextAction();
          $varOpt = $opt->showOptAction();

          $this->view->varText;
          $this->view->varOpt;
            ....
    ....
    }
}

我将所有东西都放在一个控制器中遇到了问题,因为每个控制器都有自己的模型,我认为这是错误的设计。所以我想尝试从另一个类中调用另一个函数。

我发现了一些东西,并不是每个动作都需要一个视图......就像这样:

$viewRenderer = new Zend_Controller_Action_Helper_ViewRenderer();
$viewRenderer->setView($this->view)
             ->setNoController(true);
Zend_Controller_Action_HelperBroker::addHelper($viewRenderer);

问题是 _forward 仅在当前函数之后调用该函数。有谁能够帮助我?有没有机会,还是我必须将所有东西都放在一个控制器中?

希望并感谢您的帮助

最好的问候汤姆

4

1 回答 1

0

ZF 并非设计为 HMVC 框架,但您可以实现这一目标。一种方法可能是使用操作堆栈帮助程序/插件。查看文档: http: //framework.zend.com/manual/en/zend.controller.actionhelpers.html

您应该能够从这些控制器的视图中取回 html。但是,如果整体用于模拟 HMVC,我不确定这种方法的可扩展性如何。

于 2011-05-09T11:08:43.510 回答