路由

最后更新于:2022-04-01 21:18:41

路由功能由`\think\Route`类完成。 ## 概述 由于`ThinkPHP5.0`默认采用的URL规则是: >[info] #### http://server/module/controller/action/param/value/... 路由的作用是简化URL访问地址,并根据定义的路由类型做出正确的解析。 新版的路由功能做了大量的增强,包括: * 支持路由到模块的控制器/操作、控制器类的方法、闭包函数和重定向地址,甚至是任何类库的方法; * 闭包路由的增强; * 规则路由支持全局和局部变量规则定义(正则); * 支持路由到任意层次的控制器; * 子域名路由功能改进; * 支持路由分组并支持分组参数定义; * 增加资源路由和嵌套支持; * 支持使用行为或者自定义函数检测路由规则; ThinkPHP5.0的路由支持三种方式的URL解析规则。 5.0的路由是针对应用而不是针对模块,因此路由的设置也是针对应用下面的所有模块,如果希望不同的模块区分不同的设置(例如某些模块需要关闭路由,某些模块需要强制路由等),需要给该模块增加单独的入口文件,并作如下修改: ~~~ // 定义项目路径 define('APP_PATH', __DIR__ . '/../application/'); // 加载框架基础文件 require __DIR__ . '/../thinkphp/base.php'; // 绑定当前入口文件到admin模块 \think\Route::bind('admin'); // 关闭admin模块的路由 \think\App::route(false); // 执行应用 \think\App::run()->send(); ~~~ `V5.0.21+`版本开始,支持了路由解析缓存。 在配置文件中 设置开启 ~~~ // 开启路由解析缓存 'route_check_cache' => true, ~~~
';