Хорошо ли иметь BaseController и заставить все контроллеры расширять этот класс?

Мне нужно некоторое общее поведение во всех контроллерах. Хорошо ли иметь BaseController и заставить все контроллеры расширять этот класс? Если да, то каков правильный способ избежать Fatal error: Class 'BaseController' not found ошибка.

Solutions Collecting From Web of "Хорошо ли иметь BaseController и заставить все контроллеры расширять этот класс?"

Это, безусловно, общий подход.

Но статья проекта ZF Мэтью Вейер О'Финни объясняет, как помощники действий могут обеспечить те же преимущества с большей гибкостью.

В частности, общий базовый контроллер часто становится свалкой для функциональности, которая используется в контроллерах с несколькими, но не все, поэтому она становится излишней. Action-helpers являются альтернативой ленивой нагрузки, вызывая функциональность именно тогда и там, где вам это нужно.

Кроме того, крючки диспетчера действий-помощника – init() , preDispatch() и postDispatch() – позволяют вам автоматизировать плагин-подобные функции на основе каждого контроллера .

Я бы пошел на помощь. Но, как и большинство вещей, YMMV. 😉

Да, это хорошая идея и очень распространенная картина. Ознакомьтесь с подклассификацией раздела Action Controller справочного руководства ZF.

Нет, не делай этого. Используйте помощники действий, чтобы добавить функциональность к вашему контроллеру. Если вы используете базовый контроллер, он быстро станет сложным и небезопасным. Помощники действий обеспечивают большую гибкость.

Да, это хорошая идея.

Каков правильный способ избежать Fatal error: Class 'BaseController' не найдена ошибка.

Вы читаете больше о Zend_Loader , чтобы избежать этой ошибки