嵌套控制器

时间:2011-03-12 12:12:44

标签: model-view-controller cakephp cakephp-1.3

有没有办法让嵌套控制器或至少看起来像这样,例如在codeigniter中。

/管理/控制器

其中admin是Controllers forlder中的目录。

/admin/users_controllers.php你把所有东西放在那里。

我知道我可以通过路线实现这一目标,但只是好奇我能否为app的架构做到这一点。

1 个答案:

答案 0 :(得分:2)

我认为以这种方式组织会混合控制器和身份验证逻辑。在CakePHP中,您的操作按控制器分组,控制器通常与模型对应。因此,您将拥有用户,帖子,产品或其他任何控制器。

然后,对于每个控制器,某些操作可能仅对具有特定权限的用户可用,例如管理员。您应该创建一个单独的控制器来区分权限级别,而是根据它们操作的数据对您的操作进行分组。 Auth组件的任务可能与其他组件(例如Acl一起使用)授予或拒绝访问每个控制器中的单个操作。

如您所知,您可以使用路由为admin {{1}}前需要管理员权限的操作添加前缀。这为操作提供了一个单独的入口点,但管理逻辑的控制器也是如此。

所以你的问题的答案是:你不应该。这不是控制器的用途;控制器用于对相同对象进行分组操作,而不是对需要不同访问级别的操作进行分组。