Подтвердить что ты не робот

Zend Framework: получение объекта запроса в бутстрапе

Как получить объект запроса из файла начальной загрузки?

Я могу попробовать эти методы, но не работать.

$request= new Zend_Controller_Request_Http();
$request = Zend_Controller_FrontController::getInstance()->getRequest();
4b9b3361

Ответ 1

Если вы действительно этого хотите, вы можете достичь этого вызова:

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
     }
}

Ответ 2

Вы не должны получать запрос objet, так как если вы видите цикл отправки, идея состоит в том, что загрузочный файл является действиями до выполнения в запросе.

Если вам нужно каким-либо образом изменить приложение, используйте плагин контроллера.

Ответ 3

Сначала вам нужно сначала запустить frontController, попробуйте что-то вроде:

function initFoo()
{
    $this->bootstrap('frontController');
    $req = $this->frontController->getRequest();
}