Лучшие практики разработки показывают что использование фреймворков типа
GodeIgniter,
YII,
Laravel и т.д. (
чтобы никого не обижать) оправданы и фреймворки берут на себя большинство рутинной работы - безопасность, маршрутизация, кэширование,
ORM и т.д. Однако фреймворки разработаны в идеальном объектном мире, где ООП используется на полную катушку. Где же место вашим объектам в этом мире? Сконцентрируйтесь на вашей предметной области! Если это блок с постами и комментариями, значит создайте объектную модель как показано выше. Фреймворк, кстати, может помочь, например реализовать материализацию объектов из системы хранения или
удобную основу для иерархии классов. В сложных проектах также вполне применим
DDD. Также развитию идей ООП способствует
чистый код..