El request se inicializa en el frontController, la firma del frontController es:
Código PHP:
Ver originalpublic function dispatch(Zend_Controller_Request_Abstract $request = null, Zend_Controller_Response_Abstract $response = null)
Es decir tu le puedes pasar un objeto $request, si no lo haces, crea uno:
Código PHP:
Ver original/**
* Instantiate default request object (HTTP version) if none provided
*/
if (null !== $request) {
$this->setRequest($request);
} elseif ((null === $request) && (null === ($request = $this->getRequest()))) {
require_once 'Zend/Controller/Request/Http.php';
$request = new Zend_Controller_Request_Http();
$this->setRequest($request);
}
Luego crea un dispatcher (por defecto esta en Zend/Controller/Dispatcher/Standard.php) y le pasa el $request que tiene el frontController. Posteriormente al crear el Controller pasa este objeto $request al controller y lo guarda en la variable $_request:
Código PHP:
Ver original/**
* Zend_Controller_Request_Abstract object wrapping the request environment
* @var Zend_Controller_Request_Abstract
*/
protected $_request = null;
Por lo que tu dentro de tu action controller lo puedes leer ya sea usando $_request, o $this->getRequest().
Saludos.