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