質問: いつもお世話になっております。 相談に乗ってほしいことがあります。 **Cakephp2.x 系から バージョンアップ・もしくはフレームワーク移行をするならば、皆さんならどれをオススメされますでしょうか?** 具体的な内容としては 社内案件で作成したCakephp 2.x系のWebシステムが2件あります。 Cakephp も4.xが公開されたことや古いプログラムのリファクタリングもかねてバージョンアップをしようかと考えていました。 ただ、いろいろと調べた結果、 1. 世界・日本のトレンドとして Laravel が人気 2. Cakephp2 ⇒ 3 へは多くの変更点があり、学習コスト・移行コストが高い(らしい) とのことでどうしようか迷っています。 皆さんならばどのフレームワークがいいか教えてください。 ### 追記 システムの構成を列記します。 ※別々のサーバーでそれぞれ運用中 ■システム1 cakephp 2.9.8 php 7.1.12 mysql ■システム2 cakephp 2.9.8 php 7.2 mysql 以上、宜しくお願い致します。
回答: CakePHP 2からの移行であればどのフレームワークを採用するにしても、ほぼ作り直しになるので好きなものを選べばよいと思います。 受託等で開発の仕事を受ける立場であれば、仕事が多そうなフレームワークを学習目的で採用するのもよいでしょう。 開発を早く終わらせたいなら、必要となる機能がプラグインや拡張として提供されているフレームワークを選ぶのもよいです。 長く使うシステムなら、サポート期間でフレームワークを選ぶのもよいです。 (この点、CakePHPは優れていますね。 周りに特定のフレームワークに詳しい人がいれば色々聞けるでしょうから、そのフレームワークを採用するのもよいです。 ユーザーコミュニティの相性で選んでもいいです。 というわけで、好きなフレームワークを選べばいいと思います。 好きなのをといいつつ、私の押しはCakePHPなのでCakePHPを選ぶメリットを書いておきますね。 * サポート期間が長い 4.xがリリースされましたが、3.x も、あと1年ちょっとのバグ修正と3年ぐらいのセキュリティ修正サポート期間があります。2.x → 3.xの経験から、以降のメジャーバージョンアップは徐々に移行できるように計画されています。 * ORMがレポジトリパターン Tabel, Entityに別れているので責務が分離しやすいです。 * CakePHP 2.xの考えが流用できる モデル/ORM層は2.xから大きく変わりましたが、それでもそれ以外の構造はだいたい一緒なのでモデル部分以外の学習コストは低いと思います * 設計より規約といいつつ、柔軟な対応もできる 規約に沿ってざっくりと素早く開発もできますし、やろうと思えば細かくカスタマイズできます。