Применяем делегирование совместно с наследованием для организации контроллеров действий

Добрый день коллеги, сегодня я расскажу сказку о своём опыте организации контроллеров в проекте на ZF 1 (так исторически сложилось). В хороших книжках по ООП часто пишут, что наследованием нельзя увлекаться, нужно предпочитать делегирование или делать так, чтобы они работали совместно. К сожалению, не всегда можно быстро догадаться, как применить сухую теорию на практике (а когда наконец-то доходит, удивляешься «что тут сложного?»), поэтому надеюсь мой опыт кому-нибудь пригодится. И так сначала о проблемной области: 31 Controller Action, большинство из них имеет методы indexAction (), addAction (), editAction (), searchAction (). проблема №1: большинство, но не все. В остальных наличие этих методов варьируется, проблема №2: методы editAction () и addAction () массивные сами по себе, и почти одинаковые для всех контроллеров, отличаются инициализация формы, и сохранение модели. Как я это решил, покажу сразу в коде.Читать дальше →

© Habrahabr.ru