Domain-Driven Laravel: Learn to Implement Domain-Driven Design Using Laravel

  • 9h 30m
  • Jesse Griffin
  • Apress
  • 2021

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

  • Utilize a blazing-fast rapid development pipeline built from DDD building blocks and facilitated with Laravel
  • Implement value objects, repositories, entities, anti-corruption layers and others using Laravel as a web framework
  • Apply enhanced techniques for quick prototyping of complex requirements and quality results using an iterative and focused approach
  • Create a base framework (Laravel) that can serve as a template to start off any project
  • Gain insight on which details are important to a project’s success and how to acquire the necessary knowledge

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.

About the Author

Jesse Griffin is a seasoned Laravel and Symfony developer who specializes in building e-commerce systems as well as add-ons for a variety of purposes and platforms related to shipping, packaging, warehouse management, inventory control, barcode systems, asset management/tracking, customer tracking as well as statistics and reporting. He has over 10 years of professional web application development experience and holds a bachelor's degree in computer science, although he’s been programming since he was 9 years old.

In this Book

  • Laying the Foundation
  • Foundational Bootcamp
  • Domain-Driven What?
  • Introduction to Laravel
  • Advanced Laravel
  • Architecting a Claim Processing System
  • Modeling and Implementing the Domain
  • Modularizing Laravel
  • A Domain-Driven Approach to Claim Submission
  • A Domain-Driven Approach to Claim Validation
  • Context Maps
  • DTOs, Entities, and Value Objects
  • Domain Events
  • Repositories
  • Factories and Aggregates
  • Services
  • Hexagonal-Driven Development
  • Applying DDL in the Real World
  • Conclusion and Additional Thoughts