У меня есть доморощенный MVC, где многие страницы разделяют общие задачи и библиотеки, поэтому 99% работы моей модели состоит в том, чтобы вызывать такие вещи, как Form :: validateForm () и возвращать результаты в Controller, а не модель делает всю работу.
Это означает, что / foo / form может использовать тот же класс Form, что и / bar / form, без необходимости репликации какого-либо поведения.
Может быть, это не "лучшие практики", когда классы обрабатывают тяжелую работу, а не модели, но я считаю, что это позволяет абстрагировать все эти общие задачи от структуры каталогов.