概述

路由器(Route)是Typecho系统中的一个重要组件,类似mod_rewrite的机制,来实现独立的URL和指定的controller/action/params的映射规则.它通过识别诸如http://www.typechodev.com/2008/10/1/hello-world此类的伪地址,它在文件系统中并不存在但通过结合rewrite我们可以模拟出这样一个静态地址,路由器在路由表中找到匹配记录,并将用户请求导向最终应答页面.

通过这个机制,Typecho可以拥有简洁且可配置的URL并且可以摆脱对mod_rewrite的依赖.在一般的系统中,都会有一个朴素的路由系统,它们通过识别GET中的默认参数值来达到导向的目的.而在Typecho中我们通过匹配系统的伪路径来导向目的,路由表是可以配置的,并且可以动态地增加.

路由基类在includes/Route.php里面.

相关变量:

  • $current:当前路由名称.
  • $_parameters:数组,路径解析值列表.

相关函数:

  • target($path):路由指向函数,返回根据pathinfo和路由表配置的目的文件名.$path为目的文件所在目录.
  • getParameter($key):获取路径解析值.
  • parse($name, array $value = NULL, $prefix = NULL):路由反解析.$name为路由配置表名称,$value为路由填充值,默认为空,$prefix为最终合成路径的前缀,默认为空.