最近、Laravelを使ったプロジェクトに参加した際、PHP初心者+Laravel未経験者の私は「PHPフレームワーク Laravel入門」を購入してみた。(これを書いている時には第2版が出ているので、そちらを購入した方がいいと思う。ここでは第1版を読んだ感想を書く。)
- 作者:津耶乃, 掌田
- 発売日: 2019/12/27
- メディア: 単行本
まず、インストール手順から。Laravel実行に必要なComposerのインストール方法についてWindows、Mac、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に関する情報を読んでデータをやりとりし、込み入ったデータベースアクセスが必要になった時はクエリビルダーあたりを読むのがいいのかなと、個人的には思う。
初心者にも分かりやすく、ある程度の実装が出来るのではと思う。