PHPフレームワーク Laravel入門 7週目(実施日31日)
進捗
PHPフレームワーク Laravel入門
- 進捗88%(311/355)[前回比+11%]
- 私用のため1日間朝活できず。他の日でカバーしてどうにか進捗率は10%超えた。
所感
- テーブルが複数パターン存在する場合のリレーションについて学んだ。
- hasOne/hadMany/belongsTo結合は主テーブル/従テーブル側にhasOne/hadMany/belongsToと書くだけで実装可能。
- リレーション用に用意したメソッド(例:boardメソッド)であれば$item->board()となるが、リレーション設定していれば$item->boardのようにプロパティとして扱えるとのこと。
- Laravel全体に言えるけどコードを書く量は圧倒的に減るが、抽象化が激しいのはデメリットもありそう…。
- withによるEagerローディング??何それ??
- サイトによるとIn句を使ってWhereで一纏めにして取り出すことらしい。なるほど、確かにN+1問題は解決する。
- コントローラ作成時に「--resource」オプションをつけるとCRUD機能一式を扱えるようになるとのこと。()
- LaravelではResourceful(リソースフル)なコントローラと呼ぶとのこと。
- routeへの登録も「Route::resources」で7つのアクションが全部登録できる。楽チン過ぎてびっくり。
- RESTfulサービスもResourcefulを実装することで実現できる。Resourceful実装⊇RESTfulサービスの関係。
- Laravelのアクションメソッドで配列をreturnすると自動的にJSON形式になるとのこと。今の御時世JSON形式前提なんでしょうね~。
- LaravelのSession管理はデフォルトではファイルベースとのこと。実装も簡単。