Каждому контроллеру — свои хелперы
Хозяйке на заметку. Официальная документация CakePHP рекомендует добавлять хелперы в AppController вот так
//AppController
var $helpers = array(‘Html’, ‘Form’);
и они будут доступны в каждом контроллере, но если в каком-то контроллере нам понадобится какой-нибудь специальный хелпер, session, например, то нам нужно будет продублировать этот список
//DynapagesController
var $helpers = array(‘Html’, ‘Form’, ‘Session’);
Уже напрягает, но еще не очень. Постепенно проект растет, таких записей в контроллерах становится больше и в один прекрасный день мы решаем сделать так, чтобы хелпер javascript был доступен всем. Что случиться? Правильно. Нужно будет дописывать его во всех контроллерах. Что я предлагаю — оставить объявление глобальных хелперов в AppController, а индивидуальные добавлять следующим образом:
//AppController
var $helpers = array(‘Html’, ‘Form’, ‘Javascript’);
//DynapagesController
function beforeFilter() {
parent::beforeFilter();
$this->helpers[] = ‘Session’;
}
Невелика хитрость, но все же. До скорых встреч.