Специальные функции контроллера в cakePHP - PullRequest
0 голосов
/ 18 июня 2011

У меня есть фрагмент кода в одном из моих контроллеров, который я использую для вызова данных для каждого действия, а затем для каждого представления.Вместо того, чтобы повторять фрагмент кода в каждом действии, каков наилучший способ создания широкой функции контроллера в cakePHP?Или как лучше?

Пример контроллера:

function get_data($location) {
   $orders = $this->Post->find('all',array('conditions' => array('Post.field' => $location));
   return $orders;
}

//actual view
function index() {
   get_data(waiting);
   //etc. etc.
}

//actual view
function view_1() {
   get_data(view_1);
   //etc. etc.
}

Ответы [ 2 ]

2 голосов
/ 18 июня 2011

Кажется, что ответом является полная модель, тощий подход к контроллеру, как описано в этой статье. http://www.sanisoft.com/blog/2010/05/31/cakephp-fat-models-and-skinny-controllers/

Вы можете объявить public function custom_function ($data) в модели и получить к ним доступ в контроллере с помощью $this->Model->custom_function($data);

0 голосов
/ 18 июня 2011

Вы можете использовать некоторые из этих действий:

beforFilter: Вызывается до действия контроллера

afterFilter: Вызывается после запуска и отображения действия контроллера.

beforeRender:Вызывается после запуска действия контроллера, но до отображения представления.

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