Как получить объект запроса из файла начальной загрузки?
Я могу попробовать эти методы, но не работать.
$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, так как если вы видите цикл отправки, идея состоит в том, что bootstrap – это действия до выполнения в запросе.
Если вам нужно каким-то образом изменить приложение, используйте плагин контроллера для этого.
Сначала нужно сначала запустить frontController, попробуйте что-то вроде:
function initFoo() { $this->bootstrap('frontController'); $req = $this->frontController->getRequest(); }
вместо этого используйте завод
http://www.yourweb.com/somecontroller/index/id/12
$ id = Zend_Controller_Front :: getInstance () -> getRequest () -> id;
echo $ id;
// эхо 12