しがないソフトウェアエンジニアの探求日誌

六本木一丁目で働くソフトウェアエンジニアのブログ

「PHPフレームワーク Laravel Webアプリケーション開発」を読み終えた感想

2018/9/26に発売された、書籍「PHPフレームワーク Laravel Webアプリケーション開発」を読み終えましたので、感想を書いていきます。

PHPフレームワーク Laravel Webアプリケーション開発」とは

f:id:khigashigashi:20181007232928j:plain https://www.amazon.co.jp/gp/product/4802611846

こちらは、PHP界隈ではとても有名な@ex_takezawaさん・@kurikazuさん・@shin1x1さん・@omoonさんが執筆し2018年9月26日に発売されたものになります。 書籍の概要については、@shin1x1さんのブログにてご紹介されている内容を参照させていただきます。

blog.shin1x1.com

Laravel 5.5(LTS) に対応した本です。Laravel リファレンス のようにフレームワークの機能解説はもちろん含まれているのですが、機能を紹介するというより、実際にありそうなユースケースでどのように利用するかといった視点で書かれており、開発現場で Laravel をより活用したい向けの内容になっています。目次を見ると、実践的な内容が多く含まれていることが分かるでしょう。

読み始める前のモチベーション

今回の本を手にとったモチベーションとしては次のような物がありました。

  • 普段、CakePHPを業務で触っているが、Laravel自体を改めてがっつり触りたい
  • サービスコンテナがどのような実装になっているかなどLaravel内部の実装を知りたい
  • レイヤードアーキテクチャなどアーキテクチャについての実践例を知りたい

読んだ結果

控えめに言って大変勉強になった内容でした。具体的には下記の点がとても良かったです。

Laravelの内部実装・構造から学ぶ

序盤の章にて、Laravelの内部実装を見ながら、サービスコンテナの仕組みやMVCADRといったアーキテクチャについて学べる内容になっていました。自分の中で言語化されていなった点についてLaravelのコードにて示される点がよかったです。

テスト駆動開発の実践例

最終章にて、顧客訪問記録アプリケーションを想定したバックエンドAPIをテスト駆動で実装してく章があります。
API実装といった業務で実践的な例でのテスト駆動開発についてやり方を見ることができたのは、普段自分が実践してみている方法と照らし合わせつつ見れたのでとても参考になりました。

読み方

この著書は、合計531ページありとてもボリューミーだったので、私は次の読み方で進めました。

  • 第一部は、全部しっかり読み込み・写経する
  • 第二部は、部分的に詳細の仕様の話になるので、全体感を抑えながら第一部からつながる部分のみ写経する
  • 第三部は、テスト駆動開発での実践で第一部・第二部の知識の総集編として抑えられるのでガッツリ写経する

写経レポジトリ

今回写経していったレポジトリはgithub上にcommitしながらやっていました。chapter終了タイミングごとにcommitをしてrelease labelを付ける方法でやっています。

github.com

最後に

PHPフレームワーク Laravel Webアプリケーション開発」は、普段Laravelを使っていない身でも理解しやすく、Laravelに限らずアプリケーション設計・アーキテクチャなど非常に汎用的な知識に関して実践できる内容になっていました。

まだ、手に取られていない方は、ぜひ一度手に取るといいと思います!

Amazon CAPTCHA

(サインほしい。。。)