我在laravel中使用以下代码进行管理路由。
Route::group(['prefix' => 'admin'], function() {
Route::get('/', 'Admin\AdminController@home');
Route::get('/users/userList', 'Admin\UserController@userList');
Route::get('/users/detail', 'Admin\UserController@detail');
Route::get('/posts/view', 'Admin\PostController@view');
Route::get('/posts/edit', 'Admin\PostController@edit');
Route::get('/posts/add', 'Admin\PostController@add');
});
这对我来说很好。但是当我在代码中添加新函数时,我必须在路径文件中编写路由。例如:如果我想在用户控制器中添加编辑功能,为此我必须添加新路由,如。
路由:: get(' / users / edit',' Admin \ UserController @ edit');
所以我必须为每个功能添加路由。
我想知道如何使用通配符进行管理路由,这样我只需为控制器编写路由,而不是为每个函数编写路由。
Route::group(['prefix' => 'admin'], function() {
Route::get('/', 'Admin\AdminController@home');
Route::get('/users/:any', 'Admin\UserController@:any');
Route::get('/posts/:any', 'Admin\PostsController@:any');
});
外卡替换功能名称,并自动转到该功能。
答案 0 :(得分:0)
你可以使用implicit controllers来做你需要的事情。
首先为隐式控制器声明路由
Route::controller('users', 'UserController');
然后,在你的控制器上,你必须遵循一个约定来命名你的路由用HTTP动词来访问它们( get 用于GET, post 用于POST,< em>任何两者)
class UserController extends Controller {
public function getIndex()
{
//
}
public function postProfile()
{
//
}
public function anyLogin()
{
//
}
}
关于文档
中组合方法名称的说明如果您的控制器操作包含多个单词,则可以使用URI中的“dash”语法访问该操作。例如,我们
UserController
上的以下控制器操作将响应users/admin-profile
URI:public function getAdminProfile() {}