ActionStack
Помощник ActionStack позволяет помещать в стек запросы к
плагину
ActionStack
фронт-контроллера, помогая эффективно создавать очереди действий,
выполняемых в течение запроса. Этот помощник позволяет добавлять
действия посредством установки новых объектов запросов или наборов
действие/контроллер/модуль.
Вызов помощника ActionStack инициализирует плагин ActionStack
При вызове помощника ActionStack неявным образом
регистрируется плагин ActionStack. Это значит, что нет
необходимости явным образом регистрировать плагин
ActionStack для того, чтобы использовать его
функционал.
Добавление задачи с использованием имен действия, контроллера и модуля
Зачастую наиболее простым способом будет указание действия,
контроллера и модуля (и необязательных параметров запроса), почти
так же, как если бы вы вызывали
Zend_Controller_Action::_forward():
_helper->actionStack('baz',
'foo',
'default',
array('bar' => 'baz'));
// Добавление вызова к /bar/bat
// (BarController::batAction())
$this->_helper->actionStack('bat', 'bar');
}
}
]]>Добавление задачи с использованием объекта запроса
Иногда имеет смысл использовать объект запроса, что более
соответствует духу ООП. Объект запроса тоже можно передавать
помощнику ActionStack.
getRequest();
// Не устанавливайте контроллер и модуль;
// используются текущие значения
$request->setActionName('baz')
->setParams(array('bar' => 'baz'));
$this->_helper->actionStack($request);
// Add call to /bar/bat
// (BarController::batAction())
$request = clone $this->getRequest();
// Не устанавливайте модуль;
// используется текущиее значение
$request->setActionName('bat')
->setControllerName('bar');
$this->_helper->actionStack($request);
}
}
]]>