多语言展示
当前在线:616今日阅读:19今日分享:20

ThinkPHP框架路由的定义与使用

ThinkPHP框架具体强大的路由定义功能,基本上能满足网站路由的所有要求,包括规则路由、正则路由、静态路由,还对路由的闭包支持。下面介绍ThinkPHP框架路由的定义与使用。
路由的定义
1

启用路由。ThinkPHP路由配置生效需要满足三个条件:(1)在配置文件中开启路由功能,如下图1;(2)URL支持PATH_INFO模式或者兼容URL模式;(3)配置文件中使用URL_ROUTE_RULES参数进行配置,如下图2。

2

路由定义格式。定义的格式有两种:(1) '路由表达式'=>'路由地址和传入参数;(2)array('路由表达式','路由地址','传入参数')。

3

路由参数设置。这些参数的作用是限制定义的路由规则的生效条件,主要有三种作用,分别是限制URL后缀、限制请求类型、自定义检测。

路由的使用
1

规则路由。规则路由表达式包含静态地址和动态地址,或者两种地址的结合,如下图。注释:每个参数中以“:”开头的参数都表示动态参数。例如:id表示该处匹配到的参数可以使用$_GET['id']方式获取,:year、 :month 、:day 则分别对应$_GET['year']、 $_GET['month'] 和 $_GET['day']。

2

正则路由,必须以“/”开头,表达式不但支持正则的定义,而且还支持函数过滤处理。

3

静态路由,表达式中路由的定义不包含动态参数,执行效率高,但作用有限。静态路由的格式为:[控制器/操作?]参数1=值1&参数2=值2。注意:为了不影响动态路由的遍历效率,静态路由采用URL_MAP_RULES定义和动态路由区分开来。

4

使用闭包的方式定义路由。这种方式不需要执行控制器的操作方法,如下图。

推荐信息