thinkphp框架路由的定义与使用
ThinkPHP框架具体强大的路由定义功能,基本上能满足网站路由的所有要求,包括规则路由、正则路由、静态路由,还对路由的闭包支持。
下面介绍ThinkPHP框架路由的定义与使用。
路由的定义
启用路由。ThinkPHP路由配置生效需要满足三个条件:
(1)在配置文件中开启路由功能,如下图1;
(2)URL支持PATH_INFO模式或者兼容URL模式;
(3)配置文件中使用URL_ROUTE_RULES参数进行配置,如下图2。
路由定义格式。定义的格式有两种:
(1) '路由表达式'=>'路由地址和传入参数;
(2)array('路由表达式','路由地址','传入参数')。
路由参数配置。这些参数的作用是限制定义的路由规则的生效条件,主要有三种作用,分别是限制URL后缀、限制请求类型、自定义检测。
路由的使用
规则路由。规则路由表达式包含静态地址和动态地址,或者两种地址的结合,如下图。
注释:每个参数中以“:”开头的参数都表示动态参数。例如:id表示该处匹配到的参数可以使用$_GET['id']方式获得,:year、 :month 、:day 则分别对应$_GET['year']、 $_GET['month'] 和 $_GET['day']。
正则路由,必须以“/”开头,表达式不但支持正则的定义,而且还支持函数过滤处理。
静态路由,表达式中路由的定义不包含动态参数,执行效率高,但作用有限。静态路由的格式为:[控制器/操作?]参数1=值1&参数2=值2。
注意:为了不影响动态路由的遍历效率,静态路由采用URL_MAP_RULES定义和动态路由区分开来。
使用闭包的方式定义路由。这种方式不需要执行控制器的操作方法,如下图。
本文来自ThinkPHP框架技术文章栏目:http://www.php.cn/phpkj/thinkphp/
以上是thinkphp框架路由的定义与使用的详细内容。更多信息请关注PHP中文网其他相关文章!