laravel路由设置

laravel的路由需要在routes\web.php进行设置,下面为一些常用的设置:

1.get路由参数设置

//{id}为必传参数,{name?}中的“?”表示非必传参数,在后面给name设置了默认值“jack”;where为传参校验规则,支持正则表达式校验
Route::get('test0/{id}/{name?}', function($id,$name='jack') { return 'test0-id-'.$id.'-name-'.$name; })->where(['id'=>'[0-9]+','name'=>'[A-Za-z]+']);

 

2.post路由参数设置

Route::post('test1', function() {
    return 'test1';
});

 

3.指定请求方式

Route::match(['get', 'post'], 'test2', function() {
    return 'test2';
});

 

4.支持全部请求方式

Route::any('test3', function () {
    return 'test3';
});

 

5.路由别名

Route::get('user/center', ['as'=>'center', function () {
    return 'center';
}]);

 

6.路由群组

//prefix作用是设置群组的前缀,例如访问test3方法时,由于加了前缀“member”,所以此时的访问路径为member/test3
Route::group(['prefix'=>'member'], function () { Route::get('user/center', ['as'=>'center', function () { return 'center'; }]); Route::any('test3', function () { return 'member-test3'; }); });

 

7.路由中输出视图

Route::get('view', function () {
    return view('welcome');
});

 

8.根据命名空间设置分组

//App\Http\Controllers为命名空间
Route::namespace('App\Http\Controllers')->group(function() { Route::get('student/info', 'StudentController@info'); });

 

9.方法不存在跳转到指定方法

//错误页面跳转
Route::fallback(function() {
    return redirect('/');
});

 

10.使用throttle中间件限制访问频率

//参数一:频率,参数二:时间(分钟)
Route::group(['middleware'=>['throttle:10,60']], function() {
  //});

 


更多请查看laravel手册:https://learnku.com/docs/laravel/8.x/routing/9365

【版权申明】未经博主同意,谢绝转载!(请尊重原创,博主保留追究权) https://learnku.com/docs/laravel/8.x/eloquent-relationships/9407

posted @ 2022-01-07 15:18  saneim  阅读(746)  评论(0编辑  收藏  举报