<h4>Key Features</h4><ul><li>Focuses on practical code rather than theory</li><li>Full of real-world examples that you can apply to your own projects</li><li>Shows how to build PHP apps using DDD principles</li></ul><h4>Book Description</h4><p>Domain-Driven Design (DDD) has arrived in the PHP community, but for all the talk, there is very little real code. Without being in a training session and with no PHP real examples, learning DDD can be challenging. This book changes all that. It details how to implement tactical DDD patterns and gives full examples of topics such as integrating Bounded Contexts with REST, and DDD messaging strategies. In this book, the authors show you, with tons of details and examples, how to properly design Entities, Value Objects, Services, Domain Events, Aggregates, Factories, Repositories, Services, and Application Services with PHP. They show how to apply Hexagonal Architecture within your application whether you use an open source framework or your own.</p><h4>What you will learn</h4><ul><li>Correctly design all design elements of Domain-Driven Design with PHP</li><li>Learn all tactical patterns to achieve a fully worked-out Domain-Driven Design</li><li>Apply hexagonal architecture within your application</li><li>Integrate bounded contexts in your applications</li><li>Use REST and Messaging approaches</li></ul><h4>About the Author</h4><p><b>Carlos Buenosvinos</b> is a PHP Extreme Programmer with more than 15 years of experience developing web applications and more than 10 years experience as a Tech Lead and CTO leading teams of between 20 and 100 people. He is a Certified ScrumMaster (CSM) and has coached and trained close to two dozen different companies in Agile practices, both as an employee and as a consultant. On the technical side, he is a Zend PHP Engineer, a Zend Framework Engineer, and MySQL certified. He is also a board member of the PHP Barcelona User Group. He has worked with e-commerce (Atrapalo and eBay), payment processing (Vendo), classifieds (Emagister), and B2B recruiting tools (XING). He is interested in JavaScript, DevOps, and Scala. He likes developing for mobile, Raspberry Pi, and games.</p><p><b>Christian Soronellas</b> is a passionate Software Developer, Software Journeyman, and Craftsman Apprentice. He's an Extreme Programmer soul with more than 10 years of experience in web development. He's also a Zend PHP 5.3 Certified Engineer, a Zend Framework Certified Engineer, and a SensioLabs Certified Symfony Developer. He has worked as a freelancer, as well as at Privalia, Emagister, Atrapalo, and Enalquiler as a Software Architect.</p><p><b>Keyvan Akbary</b> is a polyglot Software Developer who loves Software fundamentals, the Craftsmanship movement, Extreme Programming, SOLID principles, Clean Code, Design Patterns, and Testing. He's also a sporadic Functional Programmer. He understands technology as a medium for providing value. He has worked on countless projects as a freelancer, on video streaming (Youzee), and on an online marketplace (MyBuilder) — all in addition to founding a crowdfunding company (Funddy). Currently, Keyvan is working in FinTech as a Lead Developer at TransferWise London.</p><h4>Table of Contents</h4><ol><li>Getting Started with Domain-Driven Design</li><li>Architectural Styles</li><li>Value Objects</li><li>Entities</li><li>Services</li><li>Domain-Events</li><li>Modules</li><li>Aggregates</li><li>Factories</li><li>Repositories</li><li>Application</li><li>Integrating Bounded Contexts</li><li>Hexagonal Architecture with PHP</li>&lt