PHPフレームワーク Laravel入門 7週目(実施日31日)

進捗

PHPフレームワーク Laravel入門

f:id:fatherofikura0107:20180622075001j:plain

  • 進捗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管理はデフォルトではファイルベースとのこと。実装も簡単。