规则路由

规则表达式

规则表达式通常包含静态地址和动态地址,或者两种地址的结合,例如下面都属于有效的规则表达式:

'my'         => 'Member/myinfo', // 静态地址路由'blog/:id'   => 'Blog/read', // 静态地址和动态地址结合'new/:year/:month/:day'=>'News/read', // 静态地址和动态地址结合':user/:blog_id' =>'Blog/read',// 全动态地址

规则表达式的定义始终以“/”为参数分割符,不受URL_PATHINFO_DEPR设置的影响

每个参数中以“:”开头的参数都表示动态参数,并且会自动对应一个GET参数,例如:id表示该处匹配到的参数可以使用$_GET['id']方式获取,:year、 :month 、:day 则分别对应$_GET['year']、 $_GET['month'] 和 $_GET['day']

数字约束

支持对变量的类型检测,但仅仅支持数字类型的约束定义,例如

'blog/:id\d'=>'Blog/read',

表示只会匹配数字参数,如果你需要更加多的变量类型检测,请使用正则表达式定义来解决。

函数支持

可以支持对路由变量的函数过滤,例如:

'blog/:id\d|md5'=>'Blog/read',

表示对匹配到的id变量进行md5处理,也就是说,实际传入read操作方法的$_GET['id'] 其实是 md5($_GET['id'])

可选定义

支持对路由参数的可选定义,例如:

'blog/:year\d/[:month\d]'=>'Blog/archive',

[:month\d]变量用[ ]包含起来后就表示该变量是路由匹配的可选变量。

以上定义路由规则后,下面的URL访问地址都可以被正确的路由匹配:

http://serverName/index.php/Home/blog/2013http://serverName/index.php/Home/blog/2013/12

采用可选变量定义后,之前需要定义两个或者多个路由规则才能处理的情况可以合并为一个路由规则。

可选参数只能放到路由规则的最后,如果在中间使用了可选参数的话,后面的变量都会变成可选参数。

完全匹配

规则匹配检测的时候只是对URL从头开始匹配,只要URL地址包含了定义的路由规则就会匹配成功,如果希望完全匹配,可以使用$符号,例如:

'new/:cate$'=> 'News/category'

http://serverName/index.php/Home/new/info

===========================================

(0)

相关推荐

  • 表达式

    词条已锁定 表达式,是由数字.算符.数字分组符号(括号).自由变量和约束变量等以能求得数值的有意义排列方法所得的组合.约束变量在表达式中已被指定数值,而自由变量则可以在表达式之外另行指定数值. 分类 ...

  • thinkPHP定义路由

    URL地址里面的index模块怎么才能省略呢,默认的URL地址显得有点长,下面就来说说如何通过路由简化URL访问. 我们在路由定义文件(application/route.php)里面添加一些路由规则 ...

  • CarSim仿真高级进阶(一)---VS 命令行(1)

    好书推荐<推荐理由:本书全面的讲述了驾驶员辅助系统的重要知识,并介绍了驾驶员辅助系统在主动安全性和舒适性方面的系统组成和工作原理.书中的内容由德国汽车工业和学术界的96位专家 共同编写.本书的内 ...

  • 嵌入式编码规范,收藏细读!

    作为程序开发者,避免不了阅读别人代码,那么就会涉及到到一门语言的编程规范.规范虽然不是语言本身的硬性要求,但是已经是每一个语言使用者约定俗成的一个规范. 按照编程规范编写的代码,至少在代码阅读时,给人 ...

  • OSPF 路由优选规则

    OSPF 路由优选规则

  • Tars | 第4篇 Subset路由规则业务分析与源码探索

    目录 前言 1. Subset不是负载均衡 1.1 任务需求 1.2 负载均衡源码结构图 1.3 负载均衡四种调用器 1.4 新增两种负载均衡调用器 1.5 Subset应该是"过滤&quo ...

  • 一则公报案例学习笔记:对修改股东出资期限应否适用资本多数决规则的思考|审判研究

    一.问题的提出 2021年第3期<最高人民法院公报案例>刊登了鸿大(上海)投资管理有限公司与姚锦城公司决议纠纷上诉案,裁判要旨为:"公司股东滥用控股地位,以多数决方式通过修改出资 ...

  • 房屋买卖合同效力纠纷类案件裁判规则

    民商法典 昨天 来源丨深圳微法务 过去 5 年,我国房屋买卖合同纠纷案件数量激增,虽在 2020 年受疫情等因素的影响有所下降,但房屋买卖合同纠纷依旧是广大律师的重要案源. 在刚刚出台的"十 ...

  • 关于房屋质量纠纷的裁判规则

    律行天下 今天 来源:中国司法案例研究中心 编者按 房屋质量问题是房地产交易中的核心问题,也是引发众多纠纷的焦点.通常所说的房屋质量问题是指房屋达不到法定或约定的质量标准,存在质量缺陷.商品房质量对消 ...

  • (35条消息) 中国城域网路由情况介绍

    中国的城域网,大概有三张比较典型的,一个是中国移动的CMnet,一个是中国电信IP城域网,还有一个是中国网通IP城域网.作为接入最后的阵地,城域网的业务是最复杂的.含盖了IPTV,语音,Interne ...

  • 除了贵金属交易时间,还要了解那些投资规则?

    贵金属是一种具有避险作用的资产,在投资市场贵金属产品一直比较活跃,受到投资者欢迎.是市场上贵金属投资衍生产品众多,不仅仅有实物黄金还有现货贵金属和期货贵金属等等,不同产品交易规则不同,本文主要聊聊现货 ...

  • 英语单词发音规则

    英语单词发音规则

  • 举证不能即败诉?我们都误解了民事诉讼中的『证明责任分配』规则

    华东政法大学法律学院 胡学军 I 作者 <河北法学>2021年第3期 I 来源 证明责任泛化理论批判--以"物"之争议的举证证明为中心  一.疑难案件引发的证明责任分配 ...