見出し画像

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 のフォルダについて

画像1

■ artisan コマンド
 ファイルをコピペして作成するよりも楽。
 テンプレートっぽい部分を記述した状態でファイル作成してくれたりする

 例:コントローラー作成
  php artisan make:controller コントローラー名
■ シングルアクションコントローラー
 1つのコントローラーに1つのアクションだけ書く設計をする場合、メソッド名は__invoke にする
 (Larabel 固有なわけではなく、PHP のマジックメソッド)
■ Request やResponse 用にオブジェクトがある
 $_REQUEST などのグローバル変数は使わない
■ ミドルウェア
 本来の処理(リクエスト処理) の前や後に処理を挿入できる機能
 本来の処理に毎回書いていられないし、書き忘れたらバグになっちゃうからミドルウェアを使う
 本来の処理の前に入れる場合・後に入れる場合で関数の書き方が変わる
■ バリデーションの検証ルールがかなり豊富
■ DB の扱い方
 以下の2種類がある
 ・DB クラス:SQL を直接実行できる or クエリビルダで簡単に書ける
 ・Eloquent ORM:DB から取得したデータをオブジェクトとして扱える
■ マイグレーション
 専用のスクリプトファイルをもとにDB のテーブルを作成・削除したりする機能
 DB 移行や環境移行の際にもべんり
■ シーディング
 専用のスクリプトファイルをもとにレコードを作成する機能

感想

・Kindle 版はハイライト機能が使えないのが難点
・ミドルウェアの処理の流れの図解がわかりやすかった
・本書で予習してから案件のソースを読んだところ、「本書に書いてあったこの機能がこれか」という感じで役立った
・サービスやサービスコンテナについては本書では扱っていなかったので、別途要学習

この記事が気に入ったらサポートをしてみませんか?