Map concepts and ideas in domain-driven design (DDD) and transpose them into clean, testable, and quality code that is effective alongside the Laravel framework. This book teaches you how to implement the concepts and patterns present in DDD in the real world as a complete web application. With these tactics and concepts in place, you'll engage in a variety of example applications, built from the ground up, and taken directly from real-world domains. Begin by reviewing foundational stepping stones (with small, manageable examples to show proof of concepts as well as illustrations to conceptualize the more complex topics) of both DDD and Laravel. Specifically, such topics as entities, value objects, developing an ubiquitous language, DTOs, and knowledge discovery. Next, you will dive into some more advanced topics of DDD and use these concepts as a guide to make customizations to the default Laravel installation, giving you an understanding of why these alterations are vital to the DDD and Laravel platform. Finally, you will cover the very powerful Eloquent ORM that comes stock with Laravel and understand how it can be utilized to represent entities, handle repositories, and support domain events. Although there is a basic coverage chapter and a setup tutorial for Laravel (along with a high level intro about the components used within it), Domain-Driven Laravel is best suited to readers who have been at least exposed to the framework and have had the opportunity to tinker around with it. What You'll Learn Who This Book Is For Ideal for for frontend/backend web developers, devops engineers, Laravel framework lovers and PHP developers hoping to learn more about either Domain Driven Design or the possibilities with the Laravel framework. Those with a working knowledge of plain PHP can also gain value from reading this book.
It's an okay book: the author is obviously a very experienced and knowledgeable developer, but not as experienced a writer. The book is not only riddled with typos and sloppy code examples, but the first two chapters almost made me put away the book. They're so random and all over the place, going off into rants about bad code and best practices, seemingly unrelated to the topic at hand. There are a lot of references to SOLID practices, without introducing what these are, exactly. There are references to DDD concepts like DTOs and aggregates — but used in text before being explained in later chapters — all the while assuming the reader already knows what they are. There are side-tracks about Symfony and Doctrine ORM. Without introducing those. It assumes a wealth of upfront knowledge, while at the same time going into painstaking detail about US Healthcare minutiae. The chapters seem to be written as separate essays, resulting in a lot of repetitive explaining of the same ideas.
From chapter 3 we get to the practical material, and things sort of take off. Unfortunately, it keeps lacking focus.
I think this book ought to have had a better editor, honestly. Again: the author knows his stuff, I'm sure. But someone ought to have stepped up and demanded the word count be cut in half. I'm absolutely convinced this book would have been great if it would've been half the length.
I don't think you'd come away with a very good understanding of either Laravel or Domain Driven Design after reading this book. I had hoped that the author would come up with some useful tips for implementing the DDD tactical patterns using the tools that Laravel provides, but he never really overcomes their limitations.
If this is as close as Laravel can get to DDD you'd best choose which you want: DDD OR Laravel.