首页 Order Laravel 正文

Laravel 路由参数.重定向.视图

金鹏头像 金鹏 Laravel 2022-04-01 10:04:19 0 451
导读:一.路由参数1.上一节课,我们已经学习了部分路由参数的功能,比如动态传递{id};2.那么,有时这个参数需要进行约束,我们可以使用正则来限定必须是数字; Route...
.路由参数

1. 上一节课,我们已经学习了部分路由参数的功能,比如动态传递{id}

2. 那么,有时这个参数需要进行约束,我们可以使用正则来限定必须是数字; 

Route ::get( 'task/read/{id} ', 'TaskController@read ')

->where( 'id ', '[0-9]+ ');                         //单个参数

->where([ 'id '=> '[0-9]+ ', 'name '=> '[a-z]+ ']);   //多个参数

3. 如果想让约束 id 只能是 0-9 之间作用域全局范围,可以在模型绑定器里设置;

4. 模型绑定器路径为:app\Providers\RouteServiceProvider  boot()方法;

public function boot()

{

Route ::pattern( 'id ', '[0-9]+ ');

parent::boot();

}

 

5. 如果 id 已经被全局约束,在某个局部你想让它脱离约束,可以如下操作: ...->where( 'id ', '.*');

 

.路由重定向

1. 可以设置访问一个路由的 URI,跳转到另一个路由的 URI,具体如下:

Route ::redirect( 'index ', 'task ');

Route ::redirect( 'index ', 'task ', 301);     //状态码

 

2. 还有个方法,可以直接让路由跳转返回 301 状态码而不用设置: Route ::permanentRedirect( 'index ', 'task ');

 

三.视图路由

1. 在使用视图路由之前,我们先要创建一个视图(MVC)中的 V 部分;

2. 使用视图路由,有三个参数:1.URI()2.名称()3.参数()

//参数 1URIlocalhost:8000/task

//参数 2view resources/views/task.blade.php

//参数 3:传参 {{$id}}

Route ::view( 'task ', 'task ', [ 'id '=>10]);



3. 对于视图页面的创建,在 resources/views 下创建 task.blade.php

{{--静态页面 --}}

task{{$id}}

 

4. 当然,也可以使用助手函数 view()方法来实现这个功能;

//这里 view()的参数 1 是视图名称

//参数 2 传参,可选

Route ::get( 'task ', function () {

return view( 'task ', [ 'id '=>10]);

});


5. 可以将路由直接指向控制器的方法,通过方法实现 view()引入视图; 

public function index()

{

return view( 'task ', [ 'id '=>10]);

}


本文地址:https://www.jinpeng.work/?id=148
若非特殊说明,文章均属本站原创,转载请注明原链接。
广告3

欢迎 发表评论:

  • 请填写验证码

日历

«    2025年4月    »
123456
78910111213
14151617181920
21222324252627
282930

控制面板

您好,欢迎到访网站!
  查看权限
广告2

退出请按Esc键