ThinkPHP5.0的路由比较灵活,并且不需要强制定义,可以总结归纳为如下三种方式:

一、普通模式

关闭路由,完全使用默认的PATH_INFO方式URL:

  1. 'url_route_on' => false,

路由关闭后,不会解析任何路由规则,采用默认的PATH_INFO 模式访问URL:

  1. http://serverName/index.php/module/controller/action/param/value/...
但仍然可以通过操作方法的参数绑定、空控制器和空操作等特性实现URL地址的简化。

可以设置url_param_type配置参数来改变pathinfo模式下面的参数获取方式,默认是按名称成对解析,支持按照顺序解析变量,只需要更改为:

  1. // 按照顺序解析变量
  2. 'url_param_type' => 1,

二、混合模式

开启路由,并使用路由定义+默认PATH_INFO方式的混合:

  1. 'url_route_on' => true,
  2. 'url_route_must'=> false,

该方式下面,只需要对需要定义路由规则的访问地址定义路由规则,其它的仍然按照第一种普通模式的PATH_INFO模式访问URL。

三、强制模式

开启路由,并设置必须定义路由才能访问:

  1. 'url_route_on' => true,
  2. 'url_route_must' => true,

这种方式下面必须严格给每一个访问地址定义路由规则(包括首页),否则将抛出异常。

首页的路由规则采用/定义即可,例如下面把网站首页路由输出Hello,world!

  1. Route::get('/',function(){
  2. return 'Hello,world!';
  3. });