Wednesday, May 19, 2010

Processing a controller action

In this example, we create a controller and a view script. The controller passes the URL parameters to the view script.

Components used in this example
Using the action controller

class MyActionController
BASE_URL 'http://domain/';

    public static 
$uri = array(
Processing the controller action
  • We get the URL.
  • We create the front controller.
  • We create the request.
  • We dispatch the action and we get the rendered data.
  • If we catch an exception, we return the error message.

    public function process()
// We get the URL.
list($uri) = $this->_getParameters();

        try {
// We create the front controller.
$front Zend_Controller_Front::getInstance();

// We create the request.
$request = new Zend_Controller_Request_Http(self::BASE_URL $uri);

// We dispatch the action and we get the rendered data.
$result $front->dispatch($request, new Zend_Controller_Response_Http)->getBody();

            } catch (
Exception $e) {
// If we catch an exception, we return the error message.
$result $e->getMessage();

        return array(
Extraction of the parameters from the GET request

    private function _getParameters()
$uri = isset($_GET['uri'])? $_GET['uri'] : self::$uri[0];

        return array(