Полагаю, изучение работы популярных ныне фреймворков должно помочь в этом. Взять модуль и разобраться , как он работает. Symfony , Laravel etc.... Конечно, можно спорить, что лучше и правильнее написано, но в любом случае известные и востребованные проекты могут стать источником правильных идей.