junguo/yii2-apidoc

[重大更新!]适合中小型公司使用.可作为调试工具(postman),可作为文档.简单配置,不切入系统.一切以提高开发效率,提高生产力为基准

Installs: 74

Dependents: 0

Suggesters: 0

Security: 0

Stars: 6

Watchers: 1

Forks: 1

Open Issues: 0

Type:yii2-extension

2.5.3 2019-04-27 09:54 UTC

README

1、增加redis,加快解析速度
2、自定义域名,文档,api分开
3、自定义app路径,
4、增加令牌,方便测试,过期再生成,自动保存
5、极简参数
6、开放权限下降class,method.mould无需标注
7、继承类的方法需要显式标注才显示
8、删除bootstrap,不再因加载困扰

安装

composer require junguo/yii2-apidoc

访问

直接访问项目地址根目录即可。登录默认密码:123456

准备

1、请确保yii2开启了url美化功能,

'urlManager' => [
    'enablePrettyUrl' => true,
    'showScriptName' => false,
    'rules' => [
    ],
],

2、需要安装好redis

    "yiisoft/yii2-redis": "^2.0.9"

项目配置:

将下方配置引入入口文件main-local.php或按照项目配置文件( 正式环境不要引入):

$config['modules']['apidoc'] = [
    'class'=>'junguo\apidoc\Module',
    'password'=>'123456',
    'ipFilters'=>['*','::1'],
    'domain'=>'api.xxx.com',//测试api域名,一般文档和api不在同一域名下.api index.php头部添加header('access-Control-Allow-Origin:*'); ,否则会出现跨域问题
    'tokenname'=>'access-token', // 令牌键值
     'apppath' => 'api',      //api模块路径
    'token_type' => '1',      //令牌以明文方式上传,其他参数见文档,默认1
    'ctrs' =>['controllers'], //  apppath下其他Controller 路径
];

['modules']['apidoc']配置说明:

注释参数 作用 备注
class 模块入口
password 登录模块的密码
ipFilters IP登录限制
apppath api模块路径
ctrs api下根controllers,可多个
tokenname 测试时使用.
domain 实际api的请求域名 不是同一域名下要注意跨域问题 在API的index.php文件添加 header('access-Control-Allow-Origin:*');
token_type 令牌上传方式,默认1 , 2 post参数形式 3 header Bearer 1 明文url参数追加

Phpstrom 注释配置:

打开phpstrom->setting->Editor->File and Code Templates->Includes,将两个文件内容替换原本的文件内容,点击apply即可

配置文件:

PHP Function Doc Comment

/**
#if (${NAME.indexOf('action')} != '-1' && ${NAME}!='actions')
@brief 接口名称
@param type $name 描述
@method POST/GET
@detail 接口描述
@return array
@throws Null
#end
${PARAM_DOC}
#if (${TYPE_HINT} != "void") * @return ${TYPE_HINT}
#end
${THROWS_DOC}
*/

PHP Class Doc Comment

/**
 * Class ${NAME}
#if (${NAMESPACE}) * @package ${NAMESPACE}
#end
#eif (${NAME.indexOf('Controller')}!=-1)
@brief controller名称
#end
 */

检查phpstorm配置

使用apidoc编写程序注释

1、方法注释规范如下:

注释参数 作用 备注
brief 标明方法名称,将会显示在页面左方
param 需要传入的参数
method 调用方法,POST/GET
return 返回参数,将会显示在页面右方
throws 异常声明,将会显示在页面右方
detail 接口说明,将会显示在页面右方
api-disable 接口说明,默认显示,如显式增加为隐藏class或者method
ext-enable 接口说明,默认隐藏继承类的method,如无显式标注不显示, 多个method逗号分隔,无需加action

示例:

先配置好phpstome注释配置。 1、配置controller类的注释 2、配置action的注释