It's that time of the year again: you've been putting it off for a long time, but your PHP project is starting to become a mess, and you don't have a plan on how to bring some order in the chaos. Complexity is always lurking around, threatening your productivity, and we constantly need to fight it. Luckily, it is very much possible to organize your code in such a way that it is easier to maintain long-term, you just need a good plan! In this talk, we will focus on how to take greenfield and brownfield projects, and practical approaches taken by the speaker to keep them under control. We will apply tools and structural/architectural patterns that worked in the field, and which may be useful next time you start to feel like everything is starting to become too confused.