以前のバージョンから Zend Framework 0.8 またはそれ以降に更新する際は、 下記の移行上の注意点に注意すべきです。
前回変更された、もっとも基本的な MVC コンポーネントの使用法は、そのまま同じです。
Zend_Controller_Front::run('/path/to/controllers');
しかし、ディレクトリ構造を見直し、いくつかのコンポーネントが削除されました。 また、名前が変更されたり新たに追加されたものもあります。以下にそれらをまとめます。
-
Zend_Controller_Routerは削除されました。 かわりに rewrite ルータを使用してください。 -
Zend_Controller_RewriteRouterはZend_Controller_Router_Rewriteという名前に変わり、 このフレームワークの標準ルータに格上げされました。Zend_Controller_Frontは、 特に別のルータを指定しない限りこのルータをデフォルトで使用します。 -
rewrite ルータで使用する、新しいルートクラスが追加されました。名前は
Zend_Controller_Router_Route_Moduleです。 これは MVC で使用するデフォルトのルートのほかに、コントローラモジュール をサポートしています。 -
Zend_Controller_Router_StaticRouteはZend_Controller_Router_Route_Staticという名前に変わりました。 -
Zend_Controller_DispatcherはZend_Controller_Dispatcher_Standardという名前に変わりました。 -
Zend_Controller_Action::_forward()の引数が変わりました。 新しいシグネチャは次のとおりです。final protected function _forward($action, $controller = null, $module = null, array $params = null);$actionは常に必須です。 コントローラを指定しなかった場合は、 現在のコントローラ内のアクションであるとみなされます。$controllerを指定しなかった場合は、$moduleは常に無視されます。 最後に、$paramsで指定した任意の値が リクエストオブジェクトに追加されます。 コントローラやモジュールは不要だがパラメータは渡したいという場合は、 コントローラやモジュールにNULLを指定します。