laravel路由的配置,别名,路由群组

您所在的位置:网站首页 路由的配置文件是什么 laravel路由的配置,别名,路由群组

laravel路由的配置,别名,路由群组

2023-09-29 21:36| 来源: 网络整理| 查看: 265

什么是路由:

路由:将用户的请求按照事先规划好的方案提交给指定的控制器,或者功能函数来进行处理。 路由就是访问的地址形式。 在laravel框架中路由要进行手动配置。 访问就用路由

配置路由文件。

路由文件在自己创建的laravel文件下的routes/web.php 在这里插入图片描述

1.打开web.php文件后,默认为根目录文件。 跟路由一般为网站的首页。 在这里插入图片描述 2.路由的定义方式: Route::请求方式(‘请求的URL’,匿名函数或控制器方法); 其中跟路由/可以省略。 例如:

Route::get('/', function () { return "helloworld"; });

此时输出:(定义模拟主机的方法,见于,添加链接描述)https://blog.csdn.net/qq_45844648/article/details/104903532 在这里插入图片描述 3.路由的请求方式:

Route::get(路径,方法);Route::post(路径,方法);Route::put(路径,方法);Route::patch(路径,方法);Route::delete(路径,方法);Route::options(路径,方法); 要解决“”的问题,需要以下两个解决方法; 注册路由响应多个HTTP请求------可以通过match方法来实现。或者,可以用any方法注册一个路由来响应所有的HTTP请求。 使用方法: Route::match([‘get’,‘post’],’/’,function(){ // });

常见的四个方法: get:表示匹配请求类型为get的请求; post:表示匹配请求类型为post的请求; match:表示匹配用户指定的几个请求类型(通过第一个参数去指定)的请求; any:表示匹配路由所支持的全部请求类型; 如果路由方法和实际请求的类型不一样则会报错。 ***路由参数:***分为必选参数和可选参数。

必选参数,一旦路由中定义过了,则必须传递,不传递就会报错。路由参数的传递通过路由地址中的(参数名)形式来进行传递,例如:Route::get('/home/{id}',function($id){ echo "输入的id是:".$id});必须得赋值才可以,否则报错。 在这里插入图片描述 书写时必须添加值 路径/id=xxx 在这里插入图片描述

可选参数: {参数名?}的形式; 在这里插入图片描述

在这里插入图片描述

注意: 路由参数除了上述两种传递方式,还支持传统路由参数传递。 url?id=xxx&aaa=xxxx 这种方式传递的参数不受路由限制,不需要在路由文件中事先定义好。

Route::get('/home1',function(){ $id=isset($_GET['id'])?$_GET['id']:1000; return "当前id:".$id; });

直接访问home1时,id值为1000 在这里插入图片描述 也可以直接输入?id=xxx,当前输出就为id=xxxxx 在这里插入图片描述

路由别名

相当于定义路由的时候,给路由起了一个别名,在以后的程序中可以通过,别名来获取路由的信息。 设置方法:

Route::get('/',function(){ //例如,设置一个别名为:aa return "helloworld"; })->name('h');

在文件所在位置打开,命令行 在这里插入图片描述 输入php artisan route:list 回车 查看 此时根目录就添加了别名h 在这里插入图片描述

路由群组: 例如:home/test/test1 home/test/test2 共同点都有home为前缀,可以把这两个放置到同一个路由分组里。 使用prefix属性指定路由前缀,也就是路由中都具备的相同部分。 语法: Route::group(公共属性键值数组,回调函数) 回调函数中放的剔除公共属性之后的路由。

Route::group(['prefix'=>"home"],function(){ Route::get('/test/test1', function () { return "helloworld1"; }); Route::get('/test/test2', function () { return "helloworld2"; }); });

也可以写成:

Route::group(['prefix'=>"home/test/"],function(){ Route::get('test1', function () { return "helloworld1"; }); Route::get('test2', function () { return "helloworld2"; }); });

在这里插入图片描述

在这里插入图片描述



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3