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:doc
1- 输出
Successful. Output Document Successful . File Path :api-md-20190701141656.md
1- 查看
trr:doc
命令帮助
php think trr:doc -h
1- 输出
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 debug
1
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