## 访问路由
顾名思义就是你通过某种格式的地址来访问项目的某一块信息的内容,而这种字符就是访问路由。
每个系统(或者是框架)都有着各自独有的路由,比如说像下面这种的路由很长:域名(youdomain) + 程序入口文件(index.php) + 就长字符的路由(app=appName&c=controlName&action=actionName) + 后面再跟着个不知有请求参数(page=1&seacrh=abc ……)的地址:
~~~
http://youdomain/index.php?app=appName&c=controlName&action=actionName&page=1&seacrh=abc ……
~~~
像这样的路由之前的 PkFrame 的版本也是支持过的,但在最新版本的 PkFrame 中和它说 Good bye.原因有以下两点:
1. 这样的路由字符太多、太复杂,和请求参数放在一样显得有点混乱不清,分不清哪是系统的路由,哪些是向系统请求的参数。不易于读。
1. 这样的路由让人感觉到累,当要访问一个接口地址(或者是网页地址)的内容的时候,我们要在地址栏中"噼里啪啦"的输入这样长的字才能读到想要的信息,想累死我啦!!!
* * * * *
### PkFrame 的路由是什么?
别急答案马上就来,新版的 PkFrame 的路由格式是:域名(youdomain) + 程序入口文件(index.php) + 就长字符的路由(appName/controlName/actionName) + 后面再跟着个不知有长的请求参数(page=1&seacrh=abc ……)的地址:
~~~
http://youdomain/index.php/appName/controlName/actionName?page=1&seacrh=abc ……
~~~
这种格式在其它的框架(或者是系统)也是有出现的,所以这里就不必多写什么有关于它的了,之所以新版 PkFrame 的路由会采用这种格式,就是因为六个字:清晰、简单、易懂。
很显然这种格式的路由还能变得更短, 如果你在 PkFrame 配置文件中指定了默认的 actionName 那么在写路由的时候可以省略写 actionName 这一级,由此路由的格式将缩减为如下的格式
~~~
http://youdomain/index.php/appName/controlName?page=1&seacrh=abc ……
~~~
感觉如何是否有点像 .Net 或者是 JAVA 的框架的路由了呢?到了这里你是否就想到了,是否能将程序入口的文件名也给去除了呢?答案当然是可以,你完全可以采用以下的格式来访问:
~~~
http://youdomain/appName/controlName?page=1&seacrh=abc ……
~~~
如何实现这样格式的访问不是写,有经验的人自然能想到 WEB 服务器软件中有个功能叫做 Rewrite(重写)。