PHPフレームワークから別のフレームワークへの移行


10

私はWeb会社と協力して、製品をV2として再考する必要があると思われるところに近づいています。データモデルからユーザーインターフェース。さまざまな理由により、この進化には、CakePHP(V1が構築されたもの)からSymfonyまたはZendへの移行が含まれる場合があります。

トラフィックが多く、収益を生み出しているウェブサイトについて、人々がこのような移行をどのように管理できたかについて、いくつかの経験豊富な意見をお願いしたいと思います。私は、さまざまなPHPフレームワークの賛否両論、またはなぜこの移行が必要になるのかについての議論を開きたくありません。むしろ、私は2か月間、V1と一緒にV2を基本的にゼロから構築する実用的な代替策があるかどうかを聞き、この激しい期間の間に貴重なコーディング時間を確保することに非常に興味があります。このような代替手段の例としては、長期間にわたってアプリを部分的に移行することがあります。

このような移行を管理したり関与した可能性のある人々からの意見に感謝します。

前もって感謝します。

回答:


2

これがあなたの会社のビジネスである商用アプリケーションであるならば、あなたは完全にサードパーティのフレームワークなしで行く方が良いかもしれません。その後、v3の時期が来れば、この同じ問題に再び直面することはありません。また、フレームワークの更新に応じてコードを調整し続けなければならない状況になることは決してありません。フレームワークは、物事を迅速に立ち上げて実行するのに最適ですが、これがa)ビジネスのコアであり、b)長期にわたって維持される場合、フレームワークの価値は低下します。


1
おかげで-有用な視点。ただし、フレームワークを使用すると、多くのことを楽にして、それらを使用しないという考えを抱くことが難しくなります。それらはカスタマイズすることもでき、実際に更新する必要がない限り、必ずしも更新する必要はありません(たとえば、セキュリティの脆弱性、Xのサポートの欠如など)。この答えは、フレームワークの切り替えが必要になる理由に対処しようとするのではなく、実際には「解決策」に関するものとして受け入れます。
トム

1
この答えはまったく解決策ではありません。
ジェームズ

6

最初に新しいフレームワークをよく学び、それがあなたのニーズを満たしていること、そして新しいフレームワークのパラダイムを本当に理解していることを確認してください。あなたはたくさんのコードを捨てる必要があるでしょう、そしてそれは大丈夫です。重要なことは、新しいフレームワークを本来の使用方法で使用し、その機能を最大限に活用し、古いフレームワークからの考え方に縛られないことです。Zendの「CakePHPの方法」*を使用しないでください。

たとえば、以前の非MVCフレームワークからMVCフレームワークを使用するようになったとき、モデル、ビュー、コントローラーがどのように機能するはずだったのか実際にはわかりませんでした。また、新しいコードを理解できなかったため、ひどいコードを書いていました物事のやり方。優れたフレームワークで不十分に記述されたアプリを持つよりも、劣った古いフレームワークを使い続けるほうがよいでしょう。

*私もどちらもよく知らないので、どれほど似ているか比較できるかわかりません。


+1 forDon't try to use Zend "the CakePHP way
Tim Post

人々が「+1」と言うとき、彼らは通常、実際に答えに投票することによって+1を与えます;)
GSto

インターネットに問題があります。:)ここで、キャリアピジョン上のTCP。
Tim Post

有用な回答をありがとう。私はZendとCakePHPの両方に手を出してきました。私はあなたのコメントに同意しますが、実際の経験で話さない限り、原則としてそれを「受け入れる」ことはできません。
トム

5

最初に考慮すべきことは、製品を一から書き直すことは決してすべきではないことです。これは特に、現在のバージョンですでに収益を得ている場合に当てはまります。基本的に、6か月前の状態に戻るために、6か月の時間を費やします。今だけ、あなたはより多くのバグを持っている(あるいは、少なくとも異なるバグ)、すでに古いコードに固定され、あなたは6ヶ月あなたはどこ後ろにいるれていた再導入のバグてきた可能性がでてき、あなたがしていました古いコードベースに機能を追加します。

CakePHP、Zend、Symphonyはほとんど同じです(つまり、これらはすべてPHP上のMVCスタイルのフレームワークです)。そのため、一方からもう一方に移行することで得られるメリットはわかりません。確かに機能セットには違いがありますが、その間ずっと元に戻す価値はありますか?Zendでゼロから書き直すのに費やした時間など、必要な機能をCakeに追加するのに同じ時間を費やせますか?

私の意見では、新しいフレームワークを最初から完全に作成するのではなく、時間をかけて既存のコードをゆっくりとリファクタリングするほうがよいでしょう。

もちろん、これは私の意見です。既存の(醜い、古い)コードを削除してゼロから始めるのは魅力的ですが、すでに機能している既存の製品の場合、通常、得るものはほとんどなく、失うものはたくさんあります。


まさに私が考えていたもの。ここで書き直しても意味がありません。経済的な決定になるという強い主張はないようです。
EricBoersma
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.