私は今symfony1.4で(非常に悪い方法で)書かれた巨大なサイトを持っています、私はナビゲーションフローにいくつかの実質的な変更を加えたり、いくつかの機能を追加したりするように頼まれました..努力を考慮して、ウェブサイト全体をsymfony2.0に移植するという根本的な決定を下したほうがよいのではないかと思っていましたが、それがどれほど難しいかはわかりません。
誰かがこれまでにこれをしたことがありますか?
従うパターン、チュートリアル、ドキュメントなどを作成するための提案はありますか?
私は今symfony1.4で(非常に悪い方法で)書かれた巨大なサイトを持っています、私はナビゲーションフローにいくつかの実質的な変更を加えたり、いくつかの機能を追加したりするように頼まれました..努力を考慮して、ウェブサイト全体をsymfony2.0に移植するという根本的な決定を下したほうがよいのではないかと思っていましたが、それがどれほど難しいかはわかりません。
誰かがこれまでにこれをしたことがありますか?
従うパターン、チュートリアル、ドキュメントなどを作成するための提案はありますか?
このバンドルを使用して、レガシープロジェクトを新しいsf2プロジェクトにラップすることができます。このようにして、プロジェクトを一度に1つずつ移行でき、ラッパーが機能するようになるとすぐに、sf2を使用して新しい機能が開発される可能性があります。移行についてのこの投稿に興味があるかもしれません
これが私がそれについて行く方法です:
最初にいくつかのことを学び、研究する必要があります。
次に、Symfony2のコツをつかんだら、古いプロジェクトから何を再利用するかを見つける必要があります。
モデル、ビジネスロジック? symfonyでDoctrineを使用しましたか?はいの場合は、エンティティをDoctrine2に移植する方法を確認し、違いについて学びます。Propelを使用した場合は、少なくともSymfony2に慣れるまで、PropelBundleを使用せずにDoctrine2に切り替えることを検討します。Doctrine2のより良いドキュメントとサンプルコードを見つけることができます。
また、古いヘルパークラスをSymfony2サービスに変換する必要があります。
ビュー? Symfony2はテンプレートエンジンとしてTwigを使用しますが、純粋なPHPを使用することもできます。
コントローラー? これはsymfonyにいくぶん似ているように感じるはずです。Symfony2のフローはHTTPフローと一致します。つまり、Requestオブジェクトを取得し、Responseオブジェクトを再起動する必要があります。
それは本当に私たちの古いプロジェクトがどれだけうまく構成されているかに依存します。Symfony2は1.0-1.4とはまったく異なる獣です。私はおそらくそれをポートとは呼びませんが、書き直します-しかし、古いプロジェクトがうまく構造化されていれば、おそらくかなり再利用できます。
あなたのコードを実際に見なければ、それがどれほど難しいかについて良い答えを出すことは不可能です。それは非常に実行可能ですが、簡単なルートはありません。Symfony2は、私見ですが、PHPプロジェクトの将来の道であり、最終的には、保守とサポートがはるかに簡単なプロジェクトを手に入れることができます。