路由简单的说就是将用户的请求转发给相应的程序进行处理
作用就是建立url和程序之间的映射
请求类型有get,post,put,patch,delete
get请求示例
app/Http/routes.php里面新建路由,输入下面的代码
Route::get('basic1',function(){
return 'hello world';
});
打开浏览器访问 localhost/laravel/public/basic1,可以看到浏览器输出
post请求实例
app/Http/routes里面新建路由,输入下面的代码
Route::post('basic2',function(){
return 'Basic2';
});
多请求路由,有两种写法
Route::match(['get','post'],'multi1',function(){
return 'multi1';
});
Route::any('multi2',function(){
return 'multi2';
});
可以用get或post访问,打开浏览器 localhost/laravel/public/multi1
设置路由参数,在app/Http/routes.php里面输入
//路由参数
Route::get('user/{id}',function($id){
return 'User-'.$id;
});
打开浏览器访问 localhost/laravel/public/user/xiongda,后面跟上参数xiongda
使用下面的代码可以不带参数
Route::get('user/{name?}',function($name=null){
return 'User-name-'.$name;
});
访问浏览器得到下面的结果
如果代码里定义了默认值,如“熊二”
Route::get('user/{name?}',function($name='xionger'){
return 'User-name-'.$name;
});
访问浏览器会自动传入默认值:熊二
也可以设置传入值的正则表达式
Route::get('user/{name?}',function($name='sean'){
return 'User-name-'.$name;
})->where('name','[A-Za-z]+');
也可以设置多个值
Route::get('user/{id}/{name?}',function($id,$name='sean'){
return 'User-name-'.$id.'name'.$name;
})->where(['id'=>'[0-9]+','name'=>'[A-Za-z]+']);
浏览器输出结果
路由别名
//路由别名
Route::get('user/member-center',['as'=>'center',function(){
return 'member-center';
}]);
浏览器输出结果
浏览器输出结果
Route::get('user/member-center',['as'=>'center',function(){
return route('center');
}]);
有了别名之后返回后的PC端的代码就不用改了
Route::get('user/center',['as'=>'center',function(){
return route('center');
}]);
路由群组
//路由群组
Route::group(['prefix'=>'member'],function(){
Route::get('user/center',['as'=>'center',function(){
return route('center');
}]);
Route::any('multi2',function(){
return 'member-multi2';
});
});
需要加前缀访问
路由中的视图
//路由中的视图
Route::get('view',function(){
return view('welcome');
});
浏览器输出resources/views/welcome.blade.php的文件