talk_description: How should I structure my code? What works best for object-oriented design? Is there an alternative to MVC? This talk will answer those questions and give an overview of common layouts and best practices to make projects testable, maintainable and easy to understand. We will also look at DDD and hexagonal / clean / onion architectures and go through a few different implementations of the same app to illustrate the pros and cons of each approach.
talk_description: This talk takes a look at the positive impacts that automated tests can have on architecture. Unit testing in PHPUnit or PhpSpec, as well as behavioural testing using tools like Behat, have a noticeable effect on software architecture. Tested (or testable) code is often easier to work with, cleaner, and has architectural advantages. We will take a look at some of the impacts that a good test suite can have on your application’s architecture, and how to let your tests be your architect.