有谁能告诉我为管理员后端创建CRUD的官方方法是什么?
在CakePHP 2中,烘焙代码扩展为' admin _'在函数名称和视图文件之前。 在CakePHP中,我似乎无法找到有关它如何完成的任何直接信息。烘焙控制台不再需要管理员了。 在本主题中:https://github.com/cakephp/bake/issues/28我看到他们提到使用--prefix扩展名,但是当CRUD函数保持其正常名称时,控制器被放在一个单独的/ Admin文件夹中。在cookbook()的某些部分,我仍然看到他们提到了admin_view等功能。
所以任何人都可以告诉我官方' Cake'从3.2开始这样做了吗?
答案 0 :(得分:5)
如果您想使用蛋糕烘焙创建Controller。您可以使用以下命令执行此操作:
bin/cake bake controller --prefix admin users
观点:
bin/cake bake template --prefix admin users
它在模板目录中创建admin文件夹,然后为用户创建文件夹,然后包含文件。对于管理员前缀文件夹结构,如
template/admin/users/index.ctp
See official cookbook documentation
同样在你的config / routes.php中添加:
Router::prefix('admin', function ($routes) {
$routes->connect('/', ['controller' => 'Users', 'action' => 'index']);
$routes->extensions(['json', 'xml']);
// All routes here will be prefixed with `/admin`
// And have the prefix => admin route element added.
$routes->fallbacks('DashedRoute');
});
答案 1 :(得分:1)
现在CakePHP 3中的工作原理如何,前缀方法已经消失,前缀现在会在子命名空间中生成单独的控制器,对于更小/更简单的控制器,以及正确分离,不仅在控制器级别,而且同样在模板级别,模板应该相应地放在不同的文件夹中。
您所指的t1
示例只是一个示例,应该说明如何为特定操作手动设置自定义布局,它与前缀路由无关。
所以,如果你想使用前缀路由,那么"官方"方法是使用admin_view
选项。
另见
答案 2 :(得分:1)
下面是bake命令,用于烘焙用户表的所有前缀控制器和模板
cake bake all users --prefix admin
以下是使其正常工作的路线代码: -
Router::prefix('admin', function ($routes) {
// Because you are in the admin scope,
// you do not need to include the /admin prefix
// or the admin route element.
$routes->connect('/', ['controller' => 'Users', 'action' => 'index']);
$routes->extensions(['json', 'xml']);
// All routes here will be prefixed with `/admin`
//$routes->connect('/admin', ['controller' => 'Order', 'action' => 'index']); // call other controller like this
// And have the prefix => admin route element added.
$routes->fallbacks('DashedRoute');
});
这对我有用,希望它对你有用:)