一.路由参数

  1. 我们已经学习了部分路由参数的功能,比如动态传递{id};
  2. 那么,有时这个参数需要进行约束,我们可以使用正则来限定必须是数字;
Route::get('task/read/{id}', 'TaskController@read') ->where('id', '[0-9]+'); //单个参数 ->where(['id'=>'[0-9]+', 'name'=>'[a-z]+']); //多个参数
  1. 如果想让约束 id 只能是 0-9 之间作用域全局范围,可以在模型绑定器里设置;
  2. 模型绑定器路径为:app\Providers\RouteServiceProvider 的 boot()方法;

public function boot() { Route::pattern('id', '[0-9]+'); parent::boot();
}
  1. 如果 id 已经被全局约束,在某个局部你想让它脱离约束,可以如下操作: …->where(‘id’, ‘.*’);

二.路由重定向

  1. 可以设置访问一个路由的 URI,跳转到另一个路由的 URI,具体如下:
Route::redirect('index', 'task');
Route::redirect('index', 'task', 301); //状态码


  1. 还有一个方法,可以直接让路由跳转返回 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]);

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

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

//这里 view()的
//参数 1 是视图名称
//参数 2 传参,可选;

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

  1. 也可以将路由直接指向控制器的方法,通过方法实现 view()引入视图;
public function index() { return view('task', ['id'=>10]);
}



三、PHP框架Laravel学习笔记——路由参数、重定向、视图相关推荐

  1. 二、PHP框架Laravel学习笔记——路由的定义和控制器

    一.路由的定义 什么是路由?路由就是提供接受 HTTP 请求的路径,并和程序交互的功能: 简单点理解,就是为了提供访问程序的 URL 地址,所做的一些设置工作: phpstorm 支持 cmd 操作, ...

  2. 四、PHP框架Laravel学习笔记——路由命名和分组

    一.路由命名 给一个制定好的路由进行命名,可以生成 URL 地址或进行重定向: Route::get('task', 'TaskController@index')->name('task.in ...

  3. 五、PHP框架Laravel学习笔记——回退、当前路由、单行为

    一.单行为控制器 之前的课程,我们简单的创建和定义了控制器,并继承了控制器基类: 为何要继承基类?因为继承基类后,可以使用基类的方法,比如中间件等: 继承基类后除了支持中间件快捷使用,还支持验证.列队 ...

  4. 三十、PHP框架Laravel学习笔记——模型的预加载

    一.预加载 预加载,就是解决关联查询中产生的 N+1 次查询带来的资源消耗 我们要获取所有书籍的作者(或拥有者),普通查询方案如下: //获取所有书籍列表 $books = Book::all(); ...

  5. 七、PHP框架Laravel学习笔记——资源控制器

    一.资源控制器 声明:资源控制器是某个特定场景下的产物,完全理解需要 PHP 项目基础: 比如开发过博客系统,留言帖子系统之类,具有类似思维,否则你懂的-: 只是学习了 PHP 基础,就立刻学习框架的 ...

  6. 二十七、PHP框架Laravel学习笔记——模型的多对多关联

    二.多对多关联 多对多关联,比前面两种要复杂一些,需要一张中间表,共三张: (1) .users:用户表: (2) .roles:权限表: (3) .role_user:中间表:默认表名,user_i ...

  7. 二十五、PHP框架Laravel学习笔记——模型的一对一关联

    一.关联概念 关联模型,即:两张或以上的表进行一定规则的绑定关联: 比如:一个学生(学生表)对应一张个人信息卡(信息表),这种就是一对一: 再比如:一篇博文(帖子表)对应多个评论(评论表),这种就是一 ...

  8. 十三、PHP框架Laravel学习笔记——构造器的 where 派生查询

    一.where 派生查询 orWhere()方法,可以通过连缀实现两个或以上的 or 条件查询: //where() + orWhere 实现 or 条件查询 $users = DB::table(' ...

  9. 十二、PHP框架Laravel学习笔记——构造器的查询表达式

    一.select 查询 select()方法可以制定你想要的列,而不是所有列: //设置显示的列,设置列别名 $users = DB::table('users')->select('usern ...

最新文章

  1. 李宗纯:图机器学习在度小满风控中的应用
  2. sql根据年月日查询注册数或者和值
  3. 自动化测试框架设计模式
  4. CCNA Cisco 端口配置(上)
  5. Spring Cloud构建微服务架构:服务网关(路由配置)【Dalston版】
  6. 汇编语言(王爽第三版) 实验5编写、调试具体多个段的程序
  7. C#中的文件操作 (一)
  8. Python 数据可视化利器 plus(plotly )
  9. php 接口类,抽象类 的实际作用
  10. The7主题汉化版-V7.7.0 云典讲堂Wordpress网站模板可视拖拽编辑
  11. Java将图片压缩为原来的一半
  12. 怎么样把聊天记录彻底删除?
  13. Json是什么?要怎样理解?
  14. a59s刷机包卡刷 oppo_OPPO A59s root教程_OPPO A59s卡刷获取root权限的方法
  15. PNAS | 南农张瑞福组揭示了微生物肥料功能菌根际趋化的信号识别新机制
  16. BUUCTF 每日打卡 2021-4-14
  17. 激光抗大气湍流传输研究取得进展
  18. 氪星晚报丨苹果考虑降低某些国家iPhone售价提振销量;VIPKID回应融资传闻:不予置评;蔚来拟发行6.5亿美元可转债...
  19. 再谈解决“因为文件包含病毒或潜在的垃圾软件”系统找不到gpedit.msc
  20. BOM(操作浏览器相关内容)

热门文章

  1. 网络爬虫--9.正则表达式
  2. python生成requirements.txt的两种方法
  3. ios微信本地视频上传到服务器,ios本地视频wx.uploadFile上传
  4. html+监听+页面滚动到底部,解决HTML5中滚动到底部的事件问题
  5. mysql集群怎么实现状态机_分布式中的状态机
  6. 在使用apt-get update 时更行列表,显示[Connecting to archive.ubuntu.com (2001:67c:1360:8001::21)]超时
  7. mysql 文件系统规划_Mysql的文件系统规划以及日志配置
  8. angularjs的表单验证
  9. 2017《面向对象程序设计》课程作业三
  10. jquery源码中noConflict(防止$和jQuery的命名冲突)的实现原理