It’s easy to get started on an application with Symfony2 and its ecosystem creating bundle and mapping entities to forms and to a database to create a prototype. The problem is growing it beyond this to create a maintainable application. With simple entity mapping exposing the data it contains business logic quickly ends up spread around the application. We can end up with a tangle of business logic and a large tangle of related entities. We may have multiple bundles but they are often dependent on each other. Code which may be useful in other applications becomes tangled up with the application specific code.
This talk looks at some of the ways we can avoid these situations arising. How we can create a solid maintainable application. How we can avoid painting ourselves into a corner making it difficult to make changes. How we can avoid our application becoming a big ball of mud. It will look at carefully identifying what bundles should be used for and more importantly what they shouldn’t be used for. How we can decide what bundles we should have and what goes in each. How we can keep parts of our application cleanly separated from each other and the advantages this can bring.