
路由能够对访问进行优化,所以在各个框架中都会有所涉及。在Laravel框架中也可以使用路由来进行操作,不过我们要先对路由进行定义。这里整理了两种方法:get方式、info方法。接下来我们就定义路由的方法进行详细的代码讲解,在完成对路由设置的同时,还可以尝试相关的使用。
1.get方式
Route::get('/',function(){
returnview('welcome');
});
好处是把回调的实现和使用场所隔离,这段代码是意思是,当get方式访问根目录时返回welcome视图。
2.info方法
Route::get('admin/info','Admin\IndexController@info');
访问http://your-app.dev/admin/info时,调用命名空间Admin下的IndexController控制器里的info方法。这样写是不是麻烦,所以有了路由组,统一指定中间件,前缀和命名空间。
3.使用路由
//在浏览器直接访问,跳转到welcome视图,视图路径在public/resources/views/
Route::get('/',function(){
returnview('welcome');
});
//在浏览器直接访问,返回helloworld
Route::get("route1",function(){
return"helloworld";
});
//因为是post请求,不可以在浏览器地址栏直接访问
Route::post("route2",function(){
return"helloworld";
});
//match:可以定义接收get或post请求
Route::match(['get','post'],"reute3",function(){
return"helloworld";
});
//any:可以接收get和post请求
Route::any("route4",function(){
return"helloworld";
});
//路由接收参数,php中的字符串拼接用"."
Route::get("user1/{id}",function($id){
return"id-->".$id;
});
//在user2/{id?}后面加个问号代表参数不是必要的,可以在function中给个默认值
Route::get("user2/{id?}",function($id=5){
return"id-->".$id;
});
//参数校验,在最后面加上正折表达,这里代表username只能是字母
Route::get("user3/{username}",function($username){
return"username-->".$username;
})->where("username","[A-Za-z]+");
//路由别名,只要在后面加个数组,注意数组第一个元素是"as"=>"center",第二个元素是function
Route::get("user4/mamber-center",["as"=>"center",function(){
//使用routes可以返回对应的路径
returnroute("center");
}]);
//路由群组,加前缀,member.可以通过member/user1访问到第一个,
//通过member/user2访问到第二个
Route::group(["prefix"=>"member"],function(){
Route::get("user1",function(){
return"helloworld";
});
Route::get("user2",["as"=>"group_route",function(){
returnroute("group_route");
}]);
});原文来自:https://www.py.cn © 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END


















































暂无评论内容