Zend Framework: Getting request object in bootstrap

Can Aydoğan picture Can Aydoğan · Apr 12, 2010 · Viewed 24k times · Source

How do I get the request object from inside the bootstrap file?

I can try this methods but not work.

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

Answer

takeshin picture takeshin · Apr 13, 2010

If you really want to, you may achieve this calling:

public function _initRequest()
{
    $this->bootstrap('frontController');
    $front = $this->getResource('frontController');
    $front->setRequest(new Zend_Controller_Request_Http());

    $request = $front->getRequest();
}

However, this should be avoided, because the most data you need from the Response object will be available after the front controller is dispatched (eg. module, controller or action name).

The other variables stored in the Response object are extracted from global arrays such as $_SERVER, $_POST or $_GET which you may exceptionally read directly in bootstrap.

But most likely, you want to use Response object in front controller plugin:

class Your_Controller_Plugin_PluginName extends Zend_Controller_Plugin_Abstract
{
     public function preDispatch(Zend_Controller_Request_Abstract $request)
     {
         // do anything with the $request here
     }
}