1. 在 application 中,核心文件 apiload.php (动态加载路由配置),用于指向自定义的路由信息。
2. 上述文件存在的目的是:为了解析前台传输的参数键名为 version 的参数所携带的路由信息,从而动态加载接口路由配置。
3. 场景参数说明如下:
* 场景描述:请求 1.0.0 版本的接口
* json参数示例:param = {'version' => 'api_1.0.0'}, //指定api路由管理版本,第一个下划线代表 路由标识 和 路由文件夹 的分割符,当然,也只有第一个下划线有这个效果,若后面再出现,则视为文件夹名称。也就是说,ver 是后台规定的 版本路由标识符,1.0.0 是对应路由版本文件所在的文件夹名称。
* 若参数中,不携带 version 这样的参数信息,则默认加载 api 根目录下的路由配置
4. 自定义的路由配置信息需要写在文件名称为 apiroute.php (路由配置文件)中。
* apiroute.php 中的路由内容示例如下:
```
<?php
//配置 apiload 所指引的 接口路由规则
//如下为多级路由示例
return [
//通过 token 验证用户 api 访问权限示例
'api/apiexdemo/token' => ['api/apiexdemo.example.Token/show',['method' => 'post']],
//通过 账号 验证用户 api 访问权限示例
'api/apiexdemo/account' => ['api/apiexdemo.example.Account/show',['method' => 'post']],
//无需验证 api 访问权限 示例
'api/apiexdemo/noneedlogin' => ['api/apiexdemo.example.NoNeedLogin/show',['method' => 'get']],
];
```
* 另外,需要在 application 下的 config.php 文件中,对应 “路由配置文件” 属性中,加入 apiload ,如下所示:
```
// 路由配置文件(支持配置多个)
'route_config_file' => ['route', 'apiload'],
```
5. 接口路由逻辑中,核心的文件 \application\apiload.php (动态加载路由配置)的重要性不言而喻,所以,推荐在使用时,可以通过阅读代码的方式进行了解,这样之后出问题时,逻辑上可以有调试的出发点。