Я прочитал несколько разных книг Zend, где ACL и Auth реализованы с использованием композиции. Обычно они включают помощников действий с методами preDispatch, зарегистрированными в начальной загрузке.
Теперь, во всем кодировании, до сих пор одни и те же методы ACL и Auth выполняются для каждого из моих контроллеров. Поэтому я думаю, что я мог бы также использовать наследование для достижения этой цели. Я что-то пропустил? Наследование кажется немного более простым.
Ранее я использовал Помощники действий, чтобы избежать необходимости загружать все правила в объект ACL. (Я просто регистрировал текущий контроллер в качестве ресурса ACL и добавлял правила для этого).
Однако, когда я пришел к интеграции Zend Navigation, я обнаружил, что мне нужны все правила ACL (независимо от контроллера), чтобы определить, какие пункты меню следует представить пользователю.
Полагаю, что с композицией мои помощники ACL и Auth легче использовать в других проектах, но в моем случае это лишь небольшое преимущество.
Спасибо!