アプリケーションを Zend Framework 1.12.0 からバージョン 2 に移行する必要があります。移行ガイドはまだないようです。私はすでに ZF2 コーディング規約を研究しており、依存性注入 (Zend\Di) と PHP 5.3 名前空間を採用しました。私の目標は、ZF1 アプリケーションを ZF2 モジュールにリファクタリングすることです。
質問: すべてのステップの後に、少なくとも部分的に機能するアプリケーションをステップごとに進めて、大規模なリファクタリングステップを回避することは可能ですか? はいの場合、手順は何ですか?
このような段階的な移行についての私の考えは次のとおりですが、すべてのステップの後にアプリケーションが機能するかどうかはわかりません。
- ZF2 スケルトン アプリケーションのセットアップから開始します。
- 新しいモジュール(MyApp) をセットアップし、ZF1 アプリケーションのコンテンツを MyApp モジュール フォルダー構造に再編成します。次に、非常に基本的な構成とブートストラップをセットアップし、ZF2 AbstractActionController から拡張して IndexController を移行します。モデル (Zend_Db) とビュー (Zend_View) は後で移行されます。ここでの目標は、多くの依存関係を持たない、機能する IndexController::indexAction を用意することです。
- より多くの構成とブートストラップをセットアップします (ルーティング、変換、ロケール、キャッシュ、Db、Acl、ViewHelpers など)。これらのコンポーネントの ZF1 バージョンを最初にセットアップし、後で 1 つずつ移行したいと考えています。
- Zend\Di またはServiceManager を使用して、他のコントローラーを移行し、コントローラーへの依存性注入を設定します。
- 古いpingスクリプトを新しいディレクトリ構造で動作させることにより、自動展開を設定します。
- ビュー (ヘルパーを含む) とフォームを ZF2 に移行します。
- モデルを (Zend_Db から ZF2 Zend\Db または Doctrine に) 移行します。
- 他の ZF1 コンポーネントを 1 つずつ移行します (翻訳、ロケール、キャッシュ、Acl など)。
- リファクタリングのリハビリと長期休暇。
ただし、特定の ZF2 コンポーネントが ZF1 コンポーネントと連携して動作する場合にのみ、すべてのステップの後に作業アプリケーションを作成します。たとえば、ZF1 ビュー (およびビュー ヘルパー) を ZF2 コントローラーで使用できるかどうかはわかりません。