当前位置: 首页 > news >正文

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

学习要点:
1.路由参数
2.路由重定向
3.路由视图
本节课我们来开始进入学习路由的参数设置、重定向和路由的视图。
一.路由参数
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.参数(选);
//参数 1:URI,localhost:8000/task
//参数 2:view,resources/views/task.blade.php
//参数 3:传参,{{$id}}
Route::view('task', 'task', ['id'=>10]);
2. 对于视图页面的创建,在 resources/views 下创建 task.blade.php;
{{--静态页面--}}
task{{$id}}
3. 当然,也可以使用助手函数 view()方法来实现这个功能;
//这里 view()的参数 1 是视图名称
//参数 2 传参,可选;
Route::get('task', function () {
return view('task', ['id'=>10]);
});
4. 也可以将路由直接指向控制器的方法,通过方法实现 view()引入视图;
public function index()
{
return view('task', ['id'=>10]);
}

http://www.lryc.cn/news/65708.html

相关文章:

  • Flowable入门
  • Scala Option类型,异常处理,IO,高阶函数
  • unity进阶学习笔记:单例模式
  • 软件测试——性能指标
  • leetcode 405. 数字转换为十六进制数
  • 部门来了个软件测试,听说是00后,上来一顿操作给我看呆了...
  • 使用篇丨链路追踪(Tracing)很简单:链路拓扑
  • 2023年厦门等保二级备案办理流程
  • 提高开发效率,从这些小技巧开始——5个让你爱上IDEA的增加体验小技巧
  • Python基础合集 练习22 (错误与异常处理语句2)
  • ELK -- kibana 用nginx代理后无法访问
  • 什么是分布式事务
  • 在 Python 中将整数转换为罗马数字
  • HashTable,Properties,TreeSet源码分析
  • 多维图像去噪方法研究
  • 托福口语考察内容和形式
  • 【地铁上的设计模式】--结构型模式:代理模式
  • Oracle 体系结构
  • java手写日历系统(亲测)
  • 35-40的技术人员为什么会被“不友好”,请你们自身反思-拒做职场的“嗯嗯”怪
  • 工地烟火AI监控识别分析系统 yolov7
  • MATLAB算法实战应用案例精讲-【人工智能】对比学习(概念篇)(补充篇)
  • 代码随想录算法训练营第三十一天 | 贪心1,想不到怎么找局部最优就做不出来
  • 【SVN】版本控制管理的文件(夹)如何重命名
  • 必须包含数字,字母组合的密码正则表达式
  • JavaScript:栈和对列
  • [数据库系统] 一、创建表以及使用主键约束(educoder)
  • 《走进对象村4》之面向对象的第一大特性——封装
  • 罗马数字转整数、整数转罗马数字----2023/5/4
  • 2023-05-04:用go语言重写ffmpeg的scaling_video.c示例,用于实现视频缩放(Scaling)功能。