TRR · 命令行 · 生成 markdown 格式的 API 文档
嗝嗝 7/9/2019
command
TRR
安装教程
composer 安装
composer require wangyu/tp-anntation
1
使用教程
第一种:输出反射API文档
写 接口类 注释,例如:Admin 类
反射标识说明:
| 名称 | 注释 | 使用说明 |
|---|---|---|
| doc | 文档说明 | @doc('方法名称') |
| route | 路由规则 | @route('规则','请求类型') |
| middleware | 路由中间件规则 | @middleware('中间件1','中间件2') |
例如:
/**
* @doc('Admin 后台管理类')
* @package app\api\controller\cms
*/
class Admin
{
1
2
3
4
5
6
2
3
4
5
6
写接口方法注释,例如:getAdminUsers 方法
注: 本扩展输出文档参数表是
markdown table做的, 因为markdown table的分隔符|与thinkphp 5.1验证规则分隔符|冲突
本扩展输出文档时采取
#代替thinkphp5.1验证规则分隔符|
使用时:@param('id','用户ID','require|number')
输出时:@param('id','用户ID','require#number')
反射标识说明:
| 函数名称 | 注释 | 使用说明 |
|---|---|---|
| doc | 文档说明 | @doc('方法名称') |
| route | 路由规则 | @route('规则','请求类型') |
| middleware | 路由中间件规则 | @middleware('中间件1','中间件2') |
| param | 参数验证 | @param('参数名称','参数注释','参数验证规则') |
| validate | 验证模型验证,需要继承 \WangYu\validate\BaseValidate | @validate('模型名称') |
| error | 错误返回 | @error('错误返回的JSON数据') |
| success | 正确返回 | @success('正确返回的JSON数据') |
/**
* @doc('创建图书')
* @route('','post')
* @validate('CreateGroup')
* @param('name','图书名称','require|graph|length:1,50')
* @param('img','图书img','require|graph|length:1,16')
* @success('{"code":200,"msg":"操作成功","data":[]}')
* @error('{"code":400,"msg":"appSecret不能为空","data":[]}')
* @return array
*/
public function create(){#......}
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
输出API文档
命令行模式
有关于怎么使用命令行模式参考下,thinkphp5.1官方文档 点我
- 配置application/command.php文件
<?php return [ // API文档输出 'trr:doc'=> WangYu\annotation\DocCommand::class ];1
2
3
4
5- 运行
trr:doc命令
php think trr:doc1- 输出
Successful. Output Document Successful . File Path :api-md-20190701141656.md1- 查看
trr:doc命令帮助
php think trr:doc -h1- 输出
Usage: doc:build [<module>] [<filename>] Arguments: module your API Folder,Examples: api = /application/api [default: "api"] filename your API to markdown filename Options: -h, --help Display this help message -V, --version Display this console version -q, --quiet Do not output any message --ansi Force ANSI output --no-ansi Disable ANSI output -n, --no-interaction Do not ask any interactive question -v|vv|vvv, --verbose Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug1
2
3
4
5
6
7
8
9
10
11
12
13
14
15使用
Doc类创建- 实例化
Doc类
$doc = new \WangYu\Doc('API接口模块','输出文件名称');1execute创建文档
$doc->execute();1- 在项目根目录查看
输出文件名称.md
- 实例化
生成 markdown 格式的 API 文档
命令行生成
在项目根目录下打开 cmd 或 终端 输入以下命令
php think trr:build
1
效果如下,代表文档生成成功:
F:\project\open-source-object\Trr\2019-7-6\TRR [master ≡ +0 ~217 -0 !]
λ php think trr:build
Successful. Output Document Successful . File Path :api-md.md
1
2
3
2
3