Zend Framework 0.8

When upgrading from a previous release to Zend Framework 0.8 or higher you should note the following migration notes.

Zend_Controller

Per previous changes, the most basic usage of the MVC components remains the same:

Zend_Controller_Front::run('/path/to/controllers');

However, the directory structure underwent an overhaul, several components were removed, and several others either renamed or added. Changes include:

  • Zend_Controller_Router was removed in favor of the rewrite router.

  • Zend_Controller_RewriteRouter was renamed to Zend_Controller_Router_Rewrite, and promoted to the standard router shipped with the framework; Zend_Controller_Front will use it by default if no other router is supplied.

  • A new route class for use with the rewrite router was introduced, Zend_Controller_Router_Route_Module; it covers the default route used by the MVC, and has support for controller modules.

  • Zend_Controller_Router_StaticRoute was renamed to Zend_Controller_Router_Route_Static.

  • Zend_Controller_Dispatcher was renamed Zend_Controller_Dispatcher_Standard.

  • Zend_Controller_Action::_forward()'s arguments have changed. The signature is now:

    final protected function _forward($action,
                                      $controller = null,
                                      $module = null,
                                      array $params = null);
    

    $action is always required; if no controller is specified, an action in the current controller is assumed. $module is always ignored unless $controller is specified. Finally, any $params provided will be appended to the request object. If you do not require the controller or module, but still need to pass parameters, simply specify NULL for those values.