
Laravel -- Route(路由入门)
1、默认根路由
提问: 为什么我们浏览器在访问虚拟域名时,会显示Laravel?
回答:原因是在路由文件web.php中,其实已经定义好了一个路由,这个路由为根路由,一般用于访问网站的首页
2、路由定义格式
Route::请求方式(’请求的URL‘,匿名函数或控制器响应的方法)
eggs: 请求域名下根目录 Route::get('/' , function(){return 'hello world'}),函数的返回值就是请求的响应结果
Route::get('/', function () {
return 'Hello World!!!'
});
3、请求方式有哪些?
我们可以注册路由来响应任何HTTP请求
tips: 最主要的就是前面两个
Route::get($uri,$callback);
Route::post($uri,$callback);
Route::put($uri,$callback);
Route::patch($uri,$callback);
Route::delete($uri,$callback);
Route::options($uri,$callback);
问题:要解决“<form action=method='post'>”这样的问题?如何解决?
实现:需要注册路由响应多个请求HTTP请求 --> match方法实现或者any方法来实现
1、get方法:表示匹配请求类型为get的请求
2、post方法:表示匹配请求类型为post的请求
Route::post('/', function () {
return 'Hello World!!!'
});
3、match方法:表示匹配用户指定的几个请求类型(通过第一个参数去指定)的请求
Route::match('['get','post']','/', function () {
return 'Hello World!!!'
});
4、any方法:表示匹配路由支持全部的请求类型
Route::any('foo', function () {
return 'Hello World!!!'
});
4、路由参数
路由参数就是给路由传递参数(分为必选参数和可选参数)
1、必选参数:在路由中一但定义了,就必须传递参数,如果不传参数就会报错
Routr::any('home1/{id}', function($id){
return "您当前访问的是/home1地址,您传入的id值是$id"
})
2、可选参数:在路由中定义了,并且要设置默认值,传递参数则替代默认值,没有传递则使用默认值
Routr::any('home1/{id?}', function($id){
return "您当前访问的是/home1地址,您传入的id值是$id"
})
5、路由别名
当路由名称太长时,可以给路起一个别名,方便后续去简洁调用
Routr::any('home1/vytrrtb5vcucfytbvrctrcrt/{id?}', function($id){
return "您当前访问的是/home1地址,您传入的id值是$id"
}) ->name('fireworks)
6、路由群组(群组)
问题:有下列多个路由
/admin/login
/admin/logout
/admin/index
/admin/user/add
/admin/user/del
共同点:都有/admin/前缀,为了管理方便,可以把他们放到一个路由分组中,这个分组称之为路由群组
使用prefix属性去指定路由前缀
Route::group(公共属性数组,回调函数); 回调函数中放的剔除公共属性之后的路由
Route::group(['prefix' => 'admin'],function(){
Route::get(login,function(){
//匹配 "/admin/login" URL
})
Route::get(logout,function(){
//匹配 "/admin/logout" URL
})
Route::get(user/add,function(){
//匹配 "/admin/user/add" URL
})
})
- 感谢你赐予我前进的力量
赞赏者名单
因为你们的支持让我意识到写文章的价值🙏
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 Fireworks
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果