##漂亮的路由
**1.phpstart路由准则是:**
1.1 尽量保证URL的美观和可读性,看起来类似直接访问php文件。
1.2 项目中所有.php的文件都强制转交phpstart来处理
*实例:*
http://www.phpstart.xyz/test/index
http://www.phpstart.xyz/test/index.php
http://www.phpstart.xyz/test/index.html
>上面的链接实际请求的资源是 /test/index.php
你可以在项目目录中找到对应的文件,只不过都是由phpstart来加载的。
我们建议不需要SEO优化的URL,尽量不带文件格式名,因为带后缀的URL更像是从服务器获取一个静态资源,而交互行为的URL已经包含行为动作,没必要在URL中表明是.php还是.asp脚本。
* * * * *
**2.省略程序名**
*实例:*
http://www.phpstart.xyz/index
>上面的链接实际请求的资源是 /test/index.php
因为默认程序目录是:test,所以url中可以省略程序目录
>修改默认程序方法:修改入口文件/index.php↓
define('DEFAULT_APP', test');//定义默认APP目录
* * * * *
**3.访问子程序(模块)**
http://www.phpstart.xyz/group1/index
>上面的链接实际请求的资源是 /test/group1/index.php
group1相当test程序下的一个子程序,文件夹里面也可以有自己的class、model,加载的优先顺序是从当前目录往上遍历。
* * * * *
**4.执行控制器方法**
缺省值方法是 index();
~~~
http://www.phpstart.xyz/test/hello/world
~~~
>引用文件:/test/hello.php
实例化: new hello()->world();
* * * * *
**5.URL给控制器方法传参数**
~~~
http://www.phpstart.xyz/test/hello/world/1/2
//对应文件: /test/hello.php
//对应方法: new index()->hello(1,2);
~~~
* * * * *
**下面是一些测试URL,可以在浏览器中测试,程序已包含在下载的phpstart项目中**
http://phpstart.xyz/group1/index
http://phpstart.xyz/group1/index/cat
http://phpstart.xyz/group1/index/dog
http://phpstart.xyz/group1/index/dog2
http://phpstart.xyz/group1/index/dog3
http://phpstart.xyz/group1/index/book
http://phpstart.xyz/group1/index/student
http://phpstart.xyz/group1/index/myfunc
http://phpstart.xyz/group1/index/cfg
http://phpstart.xyz/group1/index/template