J'ai trouvé ce code here en essayant de comprendre ce que fait un actionstack et pourquoi il est supposé être si mauvais. Je pensais qu'un actionstack est juste un type d'aide d'action (juste comme flashmessenger ou redirector ou ViewRenderer).Comment faire cela sans actiontack
Mais de toute façon, est-ce que quelqu'un comprend ce que fait ce code et comment faire la même chose sans actiontack?
class MyController_Action extends Zend_Controller_Action {
function init() {
/** you might not want to add to the stack if it's a XmlHttpRequest */
if(!$this->getRequest()->isXmlHttpRequest()) {
$this->_helper->actionStack('left', 'somecontroller', 'somemodule');
$this->_helper->actionStack('center', 'somecontroller', 'somemodule');
$this->_helper->actionStack('right', 'somecontroller', 'somemodule');
}
}
class MyController extends MyController_Action {
function indexAction() {
// do something
}
}
class SomecontrollerController extends MyController_Action {
function leftAction() {
// do something
$this->_helper->viewRenderer->setResponseSegment('left_container');
}
function centerAction() {
// do something
$this->_helper->viewRenderer->setResponseSegment('center_container');
}
function rightAction() {
// do something
$this->_helper->viewRenderer->setResponseSegment('right_container');
}
}
Encore un excellent article sur le ZF pratique du chef de projet –