1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > laravel路由的配置 别名 路由群组

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

时间:2020-03-19 13:03:11

相关推荐

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

什么是路由:

路由:将用户的请求按照事先规划好的方案提交给指定的控制器,或者功能函数来进行处理。

路由就是访问的地址形式。

在laravel框架中路由要进行手动配置。

访问就用路由

配置路由文件。

路由文件在自己创建的laravel文件下的routes/web.php

1.打开web.php文件后,默认为根目录文件。

跟路由一般为网站的首页。

2.路由的定义方式:

Route::请求方式(‘请求的URL’,匿名函数或控制器方法);

其中跟路由/可以省略。

例如:

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

此时输出:(定义模拟主机的方法,见于,添加链接描述)/qq_45844648/article/details/104903532

3.路由的请求方式:

Route::get(路径,方法);Route::post(路径,方法);Route::put(路径,方法);Route::patch(路径,方法);Route::delete(路径,方法);Route::options(路径,方法);

要解决“<form action="" mathod="post">”的问题,需要以下两个解决方法;

注册路由响应多个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(){//例如,设置一个别名为:aareturn "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";});});

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。