はじめに
PHPフレームワーク Laravel Webアプリケーション開発
http://amzn.asia/d/cslZyKz
対象の読者は、Laravel5上で保守や運用まで見据えた実践的なアプリケーションの設計/実装に悩んでいるような脱Laravel初心者を目指しているような方、かなと思いました。実際現場でこのような悩みを抱えているエンジニアは多いのではないでしょうか?少なくともウェブアプリケーションフレームワークを初めて触るような方向けとしては書かれておらず、SymfonyやCakePHP等のPHPのウェブアプリケーションフレームワークを使った経験がある方でないと少し内容が難しく感じるかもしれません。
第一部
第一部では、Laravel上でアプリケーションを組むときに知っておきたいフレームワークのアーキテクチャや処理フローについて、しっかりとページを割いて図付きで解説されています。サービスコンテナとサービスプロバイダの関係は多くのLaravel初心者が躓くというか、理解に時間のかかる部分だと個人的には思っていますが、この本を読めばすんなり腑に落ちると思います。この第一部にはLaravel脱初心者をするために最も重要なコンテンツが詰まっていると思いました。
第二部
第一部の後半から第二部にかけては、フレームワークの各機能の使い方をLaravelの公式ドキュメントから一歩二歩踏み込んで紹介しています。実践的なウェブアプリケーションやバッチ処理の設計パターンが紹介されていて、エラーハンドリングの実装パターンからロギングといった運用に欠かせないトピックまで充実しています。
第三部
この本で一番グッと来た点は、テストに関するトピックがとても充実していてる点です。データベースやモックを使ったユニットテストからWebAPIのテストの詳細なサンプルコードが第二部にたくさんあるだけでなく、この第三部では50ページ以上に渡ってテスト駆動でアプリケーションを開発する方法が丁寧に説明されているところです。このような本があると、開発チームにTDDを導入するときにとても助かりそうです。
おわりに
この本を通じて学んぶことは、Laravel以外のフレームワークを使ってアプリケーションを実装するときにも役立つこと間違いないなと思います。まさに「現場で使える内容」となっていました。個人的にオススメしたい読み方は第一部まで一通り読んで、残りはリファレンス的に気になるトピックを掻い摘んで読んでいくスタイルです。