PHPフレームワークLaravel入門 第2版【読書メモ】
Laravel の知識ほぼゼロ状態で読みました。
どんな本?
Laravel 初心者が「Laravel とはどんなフレームワークなのか」をざっと学習できる本。
なんで読もうと思ったのか
Laravel を使用している案件にアサインされることになったものの、まったく知識がなかったため。
API の改修をする予定なので、ビューの理解は後まわしでいいやと判断しました。そのため、ビューのくだりは読み飛ばしています。
目次
■ Chapter 1 Laravelを準備する
1-1 PHPフレームワークとLaravel
1-2 Laravelを使ってみる
■ Chapter 2 ルーティングとコントローラ
2-1 ルーティング
2-2 コントローラの利用
■ Chapter 3 ビューとテンプレート
3-1 PHPテンプレートの利用
3-2 Bladeテンプレートを使う
3-3 Bladeの構文
3-4 レイアウトの作成
3-5 サービスとビューコンポーザ
■ Chapter 4 リクエスト・レスポンスを補完する
4-1 ミドルウェアの利用
4-2 バリデーション
4-3 バリデーションをカスタマイズする
4-4 その他のリクエスト・レスポンス処理
■ Chapter 5 データベースの利用
5-1 データベースを準備する
5-2 DBクラスの利用
5-3 クエリビルダ
5-4 マイグレーションとシーディング
■ Chapter 6 Eloquent ORM
6-1 Eloquentの基本
6-2 検索とスコープ
6-3 モデルの保存・更新・削除
6-4 モデルのリレーション
■ Chapter 7 RESTfulサービス/セッション/ペジネーション/認証/テスト
7-1 リソースコントローラとRESTful
7-2 セッション
7-3 ペジネーション
7-4 ユーザー認証 7-5 ユニットテスト
7-6 今後の学習
特に勉強になったところ
■ ルーティング
「このURL にアクセスされたらこの処理を呼び出す」という関連づけをしている
■ Laravel のフォルダについて
■ artisan コマンド
ファイルをコピペして作成するよりも楽。
テンプレートっぽい部分を記述した状態でファイル作成してくれたりする
例:コントローラー作成
php artisan make:controller コントローラー名
■ シングルアクションコントローラー
1つのコントローラーに1つのアクションだけ書く設計をする場合、メソッド名は__invoke にする
(Larabel 固有なわけではなく、PHP のマジックメソッド)
■ Request やResponse 用にオブジェクトがある
$_REQUEST などのグローバル変数は使わない
■ ミドルウェア
本来の処理(リクエスト処理) の前や後に処理を挿入できる機能
本来の処理に毎回書いていられないし、書き忘れたらバグになっちゃうからミドルウェアを使う
本来の処理の前に入れる場合・後に入れる場合で関数の書き方が変わる
■ バリデーションの検証ルールがかなり豊富
■ DB の扱い方
以下の2種類がある
・DB クラス:SQL を直接実行できる or クエリビルダで簡単に書ける
・Eloquent ORM:DB から取得したデータをオブジェクトとして扱える
■ マイグレーション
専用のスクリプトファイルをもとにDB のテーブルを作成・削除したりする機能
DB 移行や環境移行の際にもべんり
■ シーディング
専用のスクリプトファイルをもとにレコードを作成する機能
感想
・Kindle 版はハイライト機能が使えないのが難点
・ミドルウェアの処理の流れの図解がわかりやすかった
・本書で予習してから案件のソースを読んだところ、「本書に書いてあったこの機能がこれか」という感じで役立った
・サービスやサービスコンテナについては本書では扱っていなかったので、別途要学習