CakePHP: как я могу управлять общими функциями модели? - PullRequest
0 голосов
/ 19 августа 2011

У меня есть некоторые «глобальные» функции, не связанные напрямую с моделью, которые нужно вызывать с разных контроллеров.Куда их положить и как их правильно вызвать с контроллера?

Ответы [ 3 ]

3 голосов
/ 19 августа 2011

Это зависит от того, что делают ваши функции. CakePHP имеет два общих класса: AppController и AppModel. Каждый контроллер должен расширять AppController, а каждая модель должна расширять AppModel, поэтому методы в этих классах должны быть доступны вам в каждом контроллере.

Другая альтернатива - упаковать функции как поведения и иметь все модели actAs их.

В зависимости от семантики вы можете выбрать один из других вариантов.

1 голос
/ 19 августа 2011

Я хотел бы предложить вам создать свой собственный класс helper , если вы хотите использовать в представлениях ИЛИ создать свой собственный компонент для использования в контроллерах.

И сгруппируйте связанную функцию в одно и дайте осмысленное имя.

, чтобы вы могли использовать ее в любом проекте, просто скопировав их в свой проект.

Просто добавьте эти файлы в свойкод везде, где требуется, используя глобальный массив var $helpers = array('your_helper1','helper2');, а для компонентов вы можете использовать var $components = array('your_component1','component2');

0 голосов
/ 19 августа 2011

для меня это звучит как поведение, если данные связаны с моделью.если это просто какой-то общий метод, используйте вместо него компонент.

Можете ли вы более конкретно рассказать о методах, которые вы хотите использовать глобально?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...