【发布时间】:2021-02-18 01:47:15
【问题描述】:
我的Web.php 路线如下所示
Route::prefix('admin')->middleware(['auth:admin'])->namespace('admin')->group(function(){
$this->get('/adminuser','UsersController@admin')->name('admin.adminuser');
$this->get('/adminuser/create','UsersController@create_admin')->name('admin.createadminuser');
$this->post('/adminuser/create','UsersController@create_admin');
$this->get('/adminuser/edit/{id}','UsersController@edit_admin')->name('admin.editadminuser');
$this->post('/adminuser/edit/{id}','UsersController@edit_admin');
$this->post('/adminuser/delete', 'UsersController@delete_admin');
$this->get('/user','UsersController@user')->name('admin.user');
$this->get('/user/create','UsersController@create_user')->name('admin.createuser');
$this->post('/user/create','UsersController@create_user');
$this->get('/user/edit/{id}','UsersController@edit_user')->name('admin.edituser');
$this->post('/user/edit/{id}','UsersController@edit_user');
$this->post('/user/delete', 'UsersController@delete_user');
$this->get('/cmspages','MasterController@cmspage')->name('admin.cmspage');
$this->get('/cmspages/create','MasterController@create_cmspages')->name('admin.createcmspage');
$this->post('/cmspages/create','MasterController@create_cmspages');
$this->get('/cmspages/edit/{id}','MasterController@edit_cmspages')->name('admin.editcmspages');
$this->post('/cmspages/edit/{id}','MasterController@edit_cmspages');
$this->post('/cmspages/delete', 'MasterController@delete_cmspages');
});
对于每个新模块,我都必须重复这一行。我该如何利用这个
注意: 路由资源不允许我创建自定义函数,除了[创建、编辑、销毁和一些内置方法]。我在许多方法中使用单个控制器
例如,我的注册用户和管理员用户都是从 UserController 检索的
【问题讨论】:
-
你为什么不使用 resource() 方法呢?当您制作资源时,这样做是合乎逻辑的。
-
自从我阅读了this 我必须单独编写我的自定义函数
-
在正常情况下,如果每个资源的路由相同,您可以使用 laravel 默认资源并调整您的前端以使用该标准休息结构。除了制作 1 个函数来注册单个资源的所有路径并在这之后调用它听起来合乎逻辑.. 你已经标记了 laravel 5 所以,只需转到这个 resource() 路由函数的声明并从那里复制这个想法 :)
标签: php laravel laravel-5 routes