100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 三 PHP框架Laravel学习笔记——路由参数 重定向 视图

三 PHP框架Laravel学习笔记——路由参数 重定向 视图

时间:2022-05-13 20:05:39

相关推荐

三 PHP框架Laravel学习笔记——路由参数 重定向 视图

一.路由参数

我们已经学习了部分路由参数的功能,比如动态传递{id};那么,有时这个参数需要进行约束,我们可以使用正则来限定必须是数字;

Route::get('task/read/{id}', 'TaskController@read') ->where('id', '[0-9]+'); //单个参数 ->where(['id'=>'[0-9]+', 'name'=>'[a-z]+']); //多个参数

如果想让约束 id 只能是 0-9 之间作用域全局范围,可以在模型绑定器里设置;模型绑定器路径为:app\Providers\RouteServiceProvider 的 boot()方法;

public function boot() {Route::pattern('id', '[0-9]+'); parent::boot(); }

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

二.路由重定向

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

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

还有一个方法,可以直接让路由跳转返回 301 状态码而不用设置:

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

三.视图路由

在使用视图路由之前,我们先要创建一个视图(MVC)中的 V 部分;使用视图路由,有三个参数:1.URI(必);2.名称(必);3.参数(选);

//参数 1:URI,localhost:8000/task

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

//参数 3:传参,{{$id}} Route::view(‘task’, ‘task’, [‘id’=>10]);

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

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

//这里 view()的

//参数 1 是视图名称

//参数 2 传参,可选;

Route::get('task', function () {return view('task', ['id'=>10]); });

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

public function index() {return view('task', ['id'=>10]); }

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