我想用一个控制器来控制自己的车型一些其他的控制器(未_forward)

问题描述:

我是新来的Zend框架和 了我的第一个问题,我问在互联网上......对不起,我的英语不好! 我有一个问题,在几个小时我就从窗户跳下去的;) 我有一个控制器,那么我需要其他4个控制器(B,C,d,E)来调用他们的模型,并给出答案控制器A.控制器A在此之后将其发送到视图。我想用一个控制器来控制自己的车型一些其他的控制器(未_forward)

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调用该函数当前功能后。有谁能够帮助我?有没有机会,还是我必须把所有东西都放在一个控制器中?

希望并感谢帮助

最好的问候汤姆

ZF不是被设计成一个HMVC框架,但你可以把这事办成。一种方法可能是使用动作堆栈助手/插件。查看文档:http://framework.zend.com/manual/en/zend.controller.actionhelpers.html

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

+0

感谢您的回答!我听说Zend不使用hmvc概念。这是我使用Zend Framework的一大错误。我想拉这一关,是我bachelorthesis走错了路。我的论文的一部分是展示如何使用zend框架(mvc)。所以我把所有东西都放在一个控制器中,并发生了:)谢谢!最好的方面汤姆 – Tomtom33 2011-05-09 13:16:35