2013-02-27 2 views
0

Я использую CakePHP 2.2.7Несколько префиксных маршрутов и принцип DRY

В моем приложении у меня есть общественная зона и область администратора. Я использую префиксные маршруты, поэтому для административных действий я использую admin_index() и т. Д.

Теперь мне нужно добавить дополнительную административную зону для менеджеров. В некоторых случаях эта область менеджера будет отличаться от области администрирования. Разная компоновка, не все действия разрешены.

Мой вопрос: Должен ли я просто дублировать действия, которые уже реализованы для области администрирования (и добавить еще один префикс, например manager_index()), или есть более простое и суровое решение?

ответ

1

Вы можете сделать это, например

public function manager_edit($fooId = null) { 
    $this->admin_edit($fooId); 
} 

Но если вы сделали хорошую работу, большая часть кода должна быть уже в модели, и ваш код выглядеть следующим образом (только основной пример);

public function manager_edit($fooId = null) { 
    if ($this->Foo->edit($fooId, $this->request->params, $this->Auth->user('id')) { /*....*/ } 
} 
Смежные вопросы