Имам нужда от едни и същи 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() на всеки контролер. Тези редове трябва да бъдат поставени в bootstrap?. Ако е така: Как мога да пропусна редове в журнала за „someAction“. Или трябва да внедря „BaseController“ и да накарам целия си контролер да се простира от него. Ако е така: Как мога да го заредя автоматично? (Фатална грешка: Класът „BaseController“ не е намерен) .