Мне нужны одинаковые 2 строки во всех моих контроллерах, каждый контроллер имеет свою собственную логику инициализации, но эти две строки являются общими для всех них.
public function init()
{
$fm =$this->_helper->getHelper('FlashMessenger');
$this->view->messages = $fm->getMessages();
}
Как мне избежать повторения кода?
Обновление:
Хорошо, FlashMessenger был только примером, скажем, мне нужно писать строку журнала в каждом действии, кроме 'someAction' @ 'someController'. Таким образом, новые общие линии должны быть.
$this->logger = new Zend_Log();
$writer = new Zend_Log_Writer_Stream(APPLICATION_PATH.'/../logs/log.txt');
$this->logger->addWriter($writer);
$this->logger->log('Some Message',Zend_Log::DEBUG);
Вопрос в том, куда мне поместить эти строки, чтобы избежать их повторения во всех init () каждого контроллера.
Эти строки должны быть размещены в начальной загрузке? Если так: Как пропустить строки журнала для 'someAction'.
Или я должен реализовать BaseController и сделать так, чтобы все мои контроллеры расширялись от него. Если так: как я могу это загрузить? (Неустранимая ошибка: класс BaseController не найден).