я прав

книга злого кровавого демона

Posts Tagged ‘helpers

Каждому контроллеру – свои хелперы

с 2 комментариями

Хозяйке на заметку.
Официальная документация CakePHP рекомендует добавлять хелперы в AppController вот так

  1. //AppController
  2. var $helpers = array(‘Html’, ‘Form’);

и они будут доступны в каждом контроллере, но если в каком-то контроллере нам понадобится какой-нибудь специальный хелпер, session, например, то нам нужно будет продублировать этот список

  1. //DynapagesController
  2. var $helpers = array(‘Html’, ‘Form’, ‘Session’);

Уже напрягает, но еще не очень. Постепенно проект растет, таких записей в контроллерах становится больше и в один прекрасный день мы решаем сделать так, чтобы хелпер javascript был доступен всем. Что случиться? Правильно. Нужно будет дописывать его во всех контроллерах. Что я предлагаю – оставить объявление глобальных хелперов в AppController, а индивидуальные добавлять следующим образом:

  1. //AppController
  2. var $helpers = array(‘Html’, ‘Form’, ‘Javascript’);
  3.  
  4. //DynapagesController
  5. function beforeFilter() {
  6.     parent::beforeFilter();
  7.     $this->helpers[] = ‘Session’;
  8. }

Невелика хитрость, но все же. До скорых встреч.

Написано evilbloodydemon

2009/01/21 в 10:13

Опубликовано в cakephp

Отмечено как

Follow

Get every new post delivered to your Inbox.