Как получить объект запроса из файла начальной загрузки?
Я могу попробовать эти методы, но не работать.
$request= new Zend_Controller_Request_Http();
$request = Zend_Controller_FrontController::getInstance()->getRequest();
Как получить объект запроса из файла начальной загрузки?
Я могу попробовать эти методы, но не работать.
$request= new Zend_Controller_Request_Http();
$request = Zend_Controller_FrontController::getInstance()->getRequest();
Если вы действительно этого хотите, вы можете достичь этого вызова:
public function _initRequest()
{
$this->bootstrap('frontController');
$front = $this->getResource('frontController');
$front->setRequest(new Zend_Controller_Request_Http());
$request = $front->getRequest();
}
Однако этого следует избегать, поскольку большинство данных, которые вам нужны из объекта Response, будут доступны после отправки диспетчера фронта (например, модуля, контроллера или имени действия).
Другие переменные, хранящиеся в объекте Response, извлекаются из глобальных массивов, таких как $_SERVER
, $_POST
или $_GET
, которые вы можете прочитать исключительно в начальной загрузке.
Но, скорее всего, вы хотите использовать объект Response в плагин переднего контроллера:
class Your_Controller_Plugin_PluginName extends Zend_Controller_Plugin_Abstract
{
public function preDispatch(Zend_Controller_Request_Abstract $request)
{
// do anything with the $request here
}
}
Вы не должны получать запрос objet, так как если вы видите цикл отправки, идея состоит в том, что загрузочный файл является действиями до выполнения в запросе.
Если вам нужно каким-либо образом изменить приложение, используйте плагин контроллера.
Сначала вам нужно сначала запустить frontController, попробуйте что-то вроде:
function initFoo()
{
$this->bootstrap('frontController');
$req = $this->frontController->getRequest();
}
используйте factory вместо
http://www.yourweb.com/somecontroller/index/id/12
$id = Zend_Controller_Front:: getInstance() → getRequest() → id;
echo $id;
//echo 12