CakePHP - 创建管理部分的最佳方法是什么

And*_*e S 4 cakephp

我正在寻找洞察在CakePHP中创建管理员部分的最佳方法.我看过像BrowniePHP这样的插件以及其他插件,但我对使用插件并不完全满意.因此,我正在尝试创建自己的,包含我需要的东西.我已经查看了一些教程,但无法找到正确的答案.

我目前正在创建一个庞大的应用程序,大约10%完成,但我现在觉得有必要在继续之前有一个管理部分.

基本上我想要一个部分,我可以添加新文章,批准评论,拒绝用户访问等.此部分只能由管理员访问.

此外,此管理员部分必须能够保存到任何其他模型.

我仍在学习CakePHP,任何详细的说明将不胜感激.

Tim*_*Tim 5

要创建管理部分,您首先要做的是手动编辑core.php内部/app/config并编写设置Routing.prefixes.这条线应该在某处88线附近,你只需要取消注释即可.
如果你找不到它,它应该是这样的:

Configure::write('Routing.prefixes', array('admin'));
Run Code Online (Sandbox Code Playgroud)

所以现在您可以在控制器中编写管理功能,如下所示:

function admin_edit($id = null) {
    //your admin function
}
Run Code Online (Sandbox Code Playgroud)

您不需要访问每个模型,因为您在控制器中编写这些功能就像其他"正常"操作一样.

您只需连接路由来处理管理操作:

Router::connect('/admin/:controller/:action/*', array('admin' => true, 'prefix' => 'admin', 'controller' => 'pages'));
// 'admin' => true is a variable for you so you can check if it's an admin-action which is requested
// 'prefix' => 'admin' means that you can write function with this prefix like above
Run Code Online (Sandbox Code Playgroud)

然后,您可以通过URL访问这些操作 http://yourapp.com/admin/controller/action

如果您现在使用,则Auth-Component可以编写方法来检查是否允许用户访问这些方法.

欲了解更多信息,请阅读以下手册:

前缀路由
验证(Auth-Component)