多个前缀路由和DRY原则

时间:2013-02-27 15:51:34

标签: php cakephp cakephp-2.2

我使用CakePHP 2.2.7

在我的应用程序中,我有一个公共区域和管理区域。 我使用带前缀的路由,以便我使用的管理操作 admin_index()等。

现在我需要为经理添加额外的管理区域。在某些情况下,此管理区域将与管理区域不同。 不同的布局,而不是所有允许的行动。

我的问题是: 我应该简单地复制已经为管理区域实现的操作(并添加另一个前缀,例如manager_index()),还是有一个更简单的DRY解决方案?

1 个答案:

答案 0 :(得分: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')) { /*....*/ }
}