2013-02-16 31 views
1

我是cakephp开发的新手。我已创建用户控制器进行注册,请在用户表中登录&更新自己的配置文件。我可以通过http://local-host/my_project/user/login访问用户控制器。如何在cakephp中为管理控制器创建一个单独的目录

我在数据库中还有一个管理表,以便管理员可以在我的项目中登录和管理用户。我想在控制器目录中创建一个文件夹单独的文件夹(例如:admin),以便我可以使用http://local-host/my_project/admin/controller/login & http://local-host/my_project/admin/controller/manage访问控制器文件。

回答

3

你应该看看手册中的“前缀的路由”,似乎这就是你要找的内容:

http://book.cakephp.org/2.0/en/development/routing.html#prefix-routing

有了前缀的路由,你就可以添加例如,可以通过URL/admin/users/overview访问用户控制器的admin_overview()操作。 '管理'前缀的动作将而不是与非管理员操作(例如'overview()')重叠,可以通过'常规'网址访问;/users/overview/

当然,您可以为此创建单独的管理控制器,但您可能需要创建自定义路由。对于关于路由的更高级选项,阅读整章(或者更好)阅读整本蛋糕食谱是值得你花时间的,它也可以作为电子书离线阅读; http://book.cakephp.org/2.0/en/index.html

另一种解决方案是开发应用程序的'管理'部分作为插件。这将保持你的前端和后端控制器/模型/视图分离。作为奖励,后端可能可以重新用于其他项目,以及(取决于其课程设计)

http://book.cakephp.org/2.0/en/plugins.html#creating-your-own-plugins

+0

感谢您的回复。但我想添加一个文件夹到应用程序/控制器目录,以便我可以存储后端(管理相关)控制器。你能告诉我这样做的核心概念吗...... – 2013-02-16 12:49:43

+0

@ShahAlom你为什么要这么做?控制器的位置对网址没有影响,因为这是由'路线'决定的。使用路线,您可以自由地为行动定义*任何*网址。如果你想从你的应用程序的其余部分'物理'分离你的'Admin'控制器/视图/模型,你可以考虑将它们开发为一个插件。 – thaJeztah 2013-02-16 14:52:04

+0

谢谢@thaJeztah,我正在用may 50控制器做一个很大的项目,并为前端做了很多动作。如果我使用前端和后端的任何控制器,主要问题将如果我使用前端任何操作,我不能用于后端。同样的方式,如果我使用任何后端行动,我不能用它作为前端。 – 2013-02-17 06:24:30

相关问题