【问题标题】:Multiple prefixed routes and DRY principle多前缀路由和DRY原则
【发布时间】:2013-02-27 15:51:33
【问题描述】:
我使用的是 CakePHP 2.2.7
在我的应用程序中,我有一个公共区域和管理区域。
我使用前缀路由,因此对于我使用的管理操作
admin_index()等
现在我需要为经理添加额外的管理区域。在某些情况下,此经理区域与管理区域不同。
不同的布局,并非所有操作都允许。
我的问题是:
我应该简单地复制已经为管理区域实现的操作(并添加另一个前缀,例如 manager_index() )还是有更简单和 DRY 的解决方案?
【问题讨论】:
标签:
php
cakephp
cakephp-2.2
【解决方案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')) { /*....*/ }
}