所有 Laravel 路由都定义在位于 routes 目录下的路由文件中,这些文件通过框架自动加载。routes/web.php 文件定义了web界面的路由,这些路由被分配了web中间件组,从而可以提供session和csrf防护等功能。
1.基本路由
Route::get('user1', function () {
return 'Hello World';
});
Route::post('user2', function () {
return 'Hello World';
});
Route::put('user3', function () {
return 'Hello World';
});
2、多请求路由
Route::match(['get','post'], 'multy1', function(){
return 'multy1';
});
Route::any(['get','post'], 'multy2', function(){
return 'multy2';
});
3、路由参数
//参数必填
Route::get('user1/{id}', function ($id) {
return 'user_id:' . id;
});
//参数不必填
Route::get('user2/{name?}', function ($name = NULL) {
return 'user_name:' . $name;
});
//参数正则约束
Route::get('user/{name}', function ($name) {
//
})->where('name', '[A-Za-z]+');
Route::get('user/{id}', function ($id) {
//
})->where('id', '[0-9]+');
Route::get('user/{id}/{name}', function ($id, $name) {
//
})->where(['id' => '[0-9]+', 'name' => '[a-z]+']);
4、路由别名
Route::get('user/member-center',['as' => 'center', function(){
return 'member-center';
}]);
Route::get('user/center',['as' => 'center', function(){
return route('center');
}]);
5、路由群组
Route::group(['prefix' => 'member'], function(){
Route::get('user/center',['as' => 'center', function(){
return route('center');
}]);
Route::any('multy2', function(){
return 'member-multy2';
});
});