ThinkPHP的路由功能
ThinkPHP支持URL路由功能,要启用路由功能,需要设置ROUTER_ON 参数为true。开启路由功能后,系统会自动进行路由检测,如果在路由定义里面找到和当前URL匹配的路由名称,就会进行路由解析和重定向。路由功能需要定义路由定义文件,位于项目的配置目录下面,文件名为config.php,定义格式:
Return Array(
// 第一种方式 常规路由
'RouteName'=>array('模块名称','操作名称','参数定义','额外参数'),
// 第二种方式 泛路由
‘RouteName@’=>array(
array('路由匹配正则','模块名称','操作名称','参数定义','额外参数'),
),
)
系统在执行Dispatch解析的时候,会判断当前URL是否存在定义的路由名称,如果有就会按照定义的路由规则来进行URL解析。例如,我们启用了路由功能,并且定义了下面的一个路由规则:
'blog'=>array('Blog','index','year,month,day','userId=1&status=1')
那么我们在执行
http://serverName/appName/blog/2007/9/15/的时候就会实际执行Blog模块的index操作,后面的参数/2007/9/15/ 就会依次按照 year/month/day 来解析,并且会隐含传入userId=1和status=1 两个参数。
分享按钮
Return Array(
// 第一种方式 常规路由
'RouteName'=>array('模块名称','操作名称','参数定义','额外参数'),
// 第二种方式 泛路由
‘RouteName@’=>array(
array('路由匹配正则','模块名称','操作名称','参数定义','额外参数'),
),
)
系统在执行Dispatch解析的时候,会判断当前URL是否存在定义的路由名称,如果有就会按照定义的路由规则来进行URL解析。例如,我们启用了路由功能,并且定义了下面的一个路由规则:
'blog'=>array('Blog','index','year,month,day','userId=1&status=1')
那么我们在执行
http://serverName/appName/blog/2007/9/15/的时候就会实际执行Blog模块的index操作,后面的参数/2007/9/15/ 就会依次按照 year/month/day 来解析,并且会隐含传入userId=1和status=1 两个参数。