nakamurakko’s diary

仕事で覚えたこと、勉強したことを自分のメモ代わりに書いていこうかなと。

PHPフレームワーク Laravel入門 (書籍紹介)

最近、Laravelを使ったプロジェクトに参加した際、PHP初心者+Laravel未経験者の私は「PHPフレームワーク Laravel入門」を購入してみた。(これを書いている時には第2版が出ているので、そちらを購入した方がいいと思う。ここでは第1版を読んだ感想を書く。)

PHPフレームワークLaravel入門 第2版

PHPフレームワークLaravel入門 第2版

まず、インストール手順から。Laravel実行に必要なComposerのインストール方法についてWindowsMac、2つの方法が書かれていて、自宅ではWindows、業務ではMacを使う状態だったので参考になった。

どこからアクセスして、どこに遷移させるか、ルーティングに関する情報がChapter2では記載され、そもそもが分かっていない私にとって、web.phpにルーティングを記載することなど、web.phpの書き方が説明がとても助かった。

コントローラーに関する記載され、一通り書かれているけど、リソースコントローラーについても説明してもらえると良かったなと。何故かというと、ほとんどのシステムデータベースを使うので、

php artisan make:controller PhotoController --resource

でコントローラーをCRUD用アクションを備えた状態で生成して、必要なアクションは別途独自実装する事が多いからだ。

Chapter3「ビューとテンプレート」ではBladeテンプレートが登場する。HTMLの構文と、その中に@ifなどのBladeのディレクティブが説明されていて、配列をテーブル内で繰り返し並べる、認証ユーザーの場合のみタグを表示するなどを学習できた。 Bladeに関して欲しかった補足説明は、「Laravelのプロジェクトを生成した時は、home.blade.phpなどはapp.blade.phpの中で表示されるように作られている」ということ。その点を意識しないで本書を真似してみると「自分で作ったBladeを表示してみたら右上にハンバーガーメニューが勝手に表示されるけど、なんでだ?」みたいなことになりそう。

バリデーションに関する記載はChapter4で出てくる。データベース保存前のバリデーションはよく使う。最大値最小値などの用意されたものからバリデーションのカスタマイズ方法などが書かれている。

データベースに関してはChapter5、Chapter6に書かれている。Chapter5にはDBクラス、クエリビルダー、マイグレーションなどに関する情報。Chapter6にはEloquentに関する情報が書かれている。マイグレーションに関する情報を読んだらEloquentに関する情報を読んでデータをやりとりし、込み入ったデータベースアクセスが必要になった時はクエリビルダーあたりを読むのがいいのかなと、個人的には思う。

初心者にも分かりやすく、ある程度の実装が出来るのではと思う。