『CakePHP』と『Laravel』を勉強してみて思ったこと
ども。ゆひBです。
最近、仕事でコードを書かなくなった(というか、コードを書く職種じゃなくなった)のですが仕事の合間を見てPHPのフレームワークの勉強をしておりました。
便利なもので、『ドットインストール』というサイトで『CakePHP』と『Laravel』の2つのフレームワークの入門講座が。入門講座ではそれぞれのフレームワークの
- それぞれのフレームワークのインストール方法
- DBのマイグレーション方法
- フォルダ構成について
- モデルからの情報の取り出し方法
- ルーティングの設定
- 簡単なブログアプリ(&コメント投稿・削除など)の解説
- バリデーションのやり方
上記のやり方について解説されてあります。
とりあえず、2講座ともに完走したのでそれぞれの感想を書いてみたいと思います。
※ あくまでも入門講座をやってみての感想ですので、その点ご了承くださいw
CakePHP
バージョン2を昔ちょろっと触った事があったので、とっつきやすかったです。
railsみたいに規約が前提条件としてあるので少ないコード量でフレームワークの方で勝手にやってくれるって感じ。
Formヘルパーを使うと<form>タグを書く労力が削減されていい感じでした。
(他にもHtmlヘルパーやUrlヘルパー等があるのは便利)
bakeコマンドを使って、一気にMVCが作れるのでこれも便利って感じですね。
テーブル同士の親子関係時の設定はlaravelよりもわかりやすいかなぁと思いました。
Laravel
実はこんなフレームワークがあったのかって感じでしたw 海外ではシェアを伸ばしているみたいですね。
CakePHPと同様、artisanコマンド(アルチザンって読むみたい)を使ってコントローラやモデルを作成するのが出来て便利ですね。また、viewファイル内に「<?php~」を書かなくて済むのですっきりして良いですね。
個人的には、テーブル同士の親子関係時の設定の仕方がややこしいなぁと思いました(hasMany()の場合は、メソッド名が複数形、belongsTo()の場合は、メソッド名が単数形になるとか)
あと、フォルダ構成もCakePHPと比べると少し直感的じゃないなぁって感じでしたね(CakePHPの場合は、srcフォルダ内に、MVCそれぞれのフォルダがあるのに対して、Laravelの場合はModelはapp直下、Viewはresources/views、Cはapp/Controllersみたいな感じでちょっと慣れるのに時間がかかりました)
まとめ
2つのフレームワークを使ってみて思ったのは、コマンドラインでMVCのファイルを作るだけじゃなくて、テーブルの作成や取消も出来るので昔と比べるとだいぶ楽になった感じですねw
個人的には今後の伸びが期待できそうなLaravelを今後も勉強してみようと思います!