CakePHPとLaravelの違い(箇条書き)

私はCakePHPを使って開発をしているのですがCakePHPについて調べているとLaravelの記事がやたらたくさん出てきます。LaravelはCakePHPと同じくphpをつかったMVCモデルのフレームワークです。Laravelの記事が直接参考になったりすることもあるので似ているところもあると思うのですが両者の主な違いを箇条書きにしました。

  • 自由度、規約の厳しさ CakePHPは規約に厳しくシンプルだがLaravelはディレクトリ構成が自由など、柔軟な対応が可能。
  • テンプレートエンジンの有無
    Laravelは基本的にCakePHPよりモダン。CakePHPにはテンプレートエンジンがなく,またh()で変数を囲むことを忘れると脆弱性につながる
  • ファイルアップロード処理の手間
    アップロードされたファイルをローカルディスクではなく、AWSのS3等のクラウドストレージに保存する際CakePHPを用いる場合には、それらのアップロード処理を自分で実装する必要がある。LaravelはFlysystemパッケージを介して操作が可能。
  • バリデーションの位置 CakePHPではM(モデル)にバリデーションを書くがLaravelではC(コントローラー)にバリデーションを書く

細かい違いはもっとあると思いますが全体的に
Laravelは自由、モダン、ライブラリ豊富、中,大規模向け
CakePHPは規約に厳しく、シンプル、小規模向け
って感じかなと思います。CakePHPを使うと規約に縛られているので、理解してしまえば開発メンバーの変化にはLaravelより柔軟かもしれません。

でも時代はLaravelのほうですよね、

PHPフレームワークのトレンドはこちら