ThinkPHP5.1 第四节 路由解析-2路由入门.pptx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ThinkPHP5.1 第四节 路由解析-2课程内容路由参数路由规则中的技巧(了解)路由分组(重点)路由别名路由绑定url生成扩展知识 7.1 访问输出(扩展) 7.2 路由原理(扩展)路由参数路由参数1.什么是路由参数?2.路由的参数3.请求类型4.url后缀5.域名验证路由参数-----路由参数为什么需要路由参数?因为项目需求找我们会对用户的请求做一个限制,比如我们写接口的时候我们就需要规定用户调用我们接口的方式,和传输的参数类型,这样就能避免一些不良分子恶意请求系统。Tp就可以使用路由参数来对用户的请求做一个限制什么是路由参数?路由参数使用来验证当前的路由规则是否有效的重要依据路由参数-----参数种类和请求类型参数种类:1.1、请求类型:[‘method’ = ‘get|post’];1.2、URL后缀:[‘ext’ = ‘html|shtml’]/[‘deny_ext’=’php’];1.3、回调函数:[‘callback’ = ‘回调函数名称’];---------没有实现可能是 版本修改了某些东西1.4、域名检测:[‘domain’ = ‘’];(了解)1.5、更多参数,如绑定模块/合并额外参数等请查阅手册(了解)路由参数-----参数种类和请求类型请求类型:类型: 最常用的是:GET和POST,其他了解即可(delete,put等);使用: 1、如注册方法已声明类型则无需设置:Route::get()/post(); 2、Route::rule()/any(): [‘method’ = ‘get|post’]; 3、使用路由配置文件数组定义:[‘method’ = ‘get|post’];路由参数-----URL后缀和域名验证 URL后缀使用方法: 1、允许的URL后缀: [‘ext’ = ‘html|shtml’];2、禁止的URL后缀: [‘deny_ext’ = ‘jpg|png’];3、允许URL后缀为空: [‘ext’ = ‘’];4、禁止的URL后缀为空:[‘deny_ext’ = ‘’];域名验证:(知道就行了)1、语法格式:[‘domain’ = ‘域名’];2、支持子域名:[‘domain’ = ‘子域名’];注意:这里设置之后只能是用指定的域名访问路由规则中的技巧-----路由规则技巧了解正则1、由:定界符、原子、元字符和修正符,四部分组成;2、定界符:通常用#,~~,/ 等非原子或元字符反斜杠\都行;3、原子:需要匹配的字符,由可见与不可见组成;4、元字符:限定或修饰原子部分 ,不能单独使用;5、修正符:限定或修饰整个正则表达式。变量规则 路由规则中的技巧-----局部和全局规则局部规则 Route::rule(路由规则 , 路由地址 , 请求类型 , [路由参数] , [变量规则]); 配置:route/route.php 只会在info中生效,其他方法不生效 全局规则 1、单独创建:Route::pattern(‘变量名’ , ‘正则表达式’); 2、批量创建:Route::pattern([ ‘变量名1’ = ‘正则表达式1’, ‘变量名2’ = ‘正则表达式2’]); 变量规则是路由中的一个重点,保证路由规则安全性的重要手段,当全局与局部的 变量规则作用在同一个路由变量上面时,局部规则覆盖全局规则,既局部的优先级要高于全局路由规则中的技巧-----组合变量在你路由比较特殊的时候使用优势 是路由规则中没有固定的分隔符,可以随意组合需要的变量规则和分割符,例如路由规 则改成如下一样可以支持:路由分组(重点) 为什么需要路由分组? 在项目中我们会定义很多路由,我会使用批量注册的方式给方法定义对应的路由标识,但是实际上开发过程中方法是会有很多,而我们给每一个方法都定义路由,那么后期我们怎么好维护管理是根据我们定义路由的命名规范嘛,可适当方法数量达到很多这样的方式就不是很好,这个时候我们就可以根据方法的功能或者方法对应的模块进行分组。如果我们后期修改就只需要找到对应的分组 在找到对应路由标识就好了路由分组-----路由分组定义技巧: 当多个路由规则中,有相同的路由前缀时,分组可以提高效率。路由分组-----group的使用路由分组-----分组类型动态、静态、闭包分组路由分组-----路由别名 别名路由,可以进一步简化路由规则,但是不支持变量规则,仅仅是缩短URL地址,使用请求地址更加短小优雅罢了。借助路由参数中的allow和except参数实现黑白名单功能,比较有实际意义。路由分组-----路由的绑定把当前的URL绑定到模块/控制器/操作,最多支持绑定到操作级别 路由分组-----URL的生成为什么需要? 在项目开发过程中有时

文档评论(0)

xingyuxiaxiang + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档