SensioLabs The Problem • Getting legacy code under control • Gain insight into applications • Constrain changes to boundaries defined by your architecture
SensioLabs Clean Packages • Separate your business code from your framework • … or in fact, any other 3rd party libs • Separate your own layers (Domain, Application, Infrastructure…)
SensioLabs Drill down • Create multiple depfiles to create different views on your code • Enforce rules on different levels - inside your domain, or between top level packages