Как я получаю объект запроса из файла начальной загрузки?
Я могу попробовать это методы, но не работа.
$request= new Zend_Controller_Request_Http();
$request = Zend_Controller_FrontController::getInstance()->getRequest();
Вы не должны получить объект запроса, поскольку, если вы видите цикл диспетчеризации, идея заключается в том, что бутстрап - это действия, предшествующие выполнению в запросе.
Если вам нужно как-то изменить приложение, используйте для этого Controller Plugin.
Сначала вам нужно загрузить frontController, попробуйте что-нибудь вроде:
function initFoo()
{
$this->bootstrap('frontController');
$req = $this->frontController->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
, которые вы можете в исключительных случаях читать непосредственно в bootstrap.
Но скорее всего, вы хотите использовать объект Response в плагине front controller:
class Your_Controller_Plugin_PluginName extends Zend_Controller_Plugin_Abstract
{
public function preDispatch(Zend_Controller_Request_Abstract $request)
{
// do anything with the $request here
}
}