longcz/autoapi

API文档自动生成(ThinkPHP5)

Installs: 10

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 1

Forks: 0

Open Issues: 0

Language:CSS

Type:think-extend

v1.0 2019-10-24 01:56 UTC

This package is auto-updated.

Last update: 2025-04-24 14:31:33 UTC


README

API自动生成(ThinkPHP5)

使用方法

安装扩展

composer require longcz/autoapi

配置参数

  • 5.0版本

    安装好扩展后在 application\extra\ 文件夹下会生成 doc.php 配置文件

  • 5.1版本

    安装好扩展后在 application\config\ 文件夹下会生成 doc.php 配置文件

<?php
return [
    'title'         => 'apidoc',                 # 文档title
    'version'       => '1.0.0',                  # 文档版本
    'copyright'     => '版权信息',              # 版权信息
    'password'      => '',                       # 访问密码,为空不需要密码
    'qq'            => '0000000000',             # 联系方式
    'document'      => [
        "explain" => [
            'name' => '说明',
            'list' => [
                'tags'   => ['测试','测试1'],
                'labels' => ['L', 'N'],
            ]
        ],
        "code"    => [
            'name' => '返回码',
            'list' => [
                '0'   => '成功',
                '1'   => '失败'
            ]
        ]
    ],
    'header' => [  // 全局请求header,一般存放token之类的
    ],
    'params' => [  // 全局请求参数
        '__uid' => 2
    ],
    'controller'    => [  // 需要生成文档的类
        [
            'name' => 'v2',
            'list' => [
                'api\controller\v2\Open',
                'api\controller\v2\User'
            ]
        ],
        [
            'name' => 'v3',
            'list' => [
            ]
        ]
    ],
    'filter_method' => [ // 过滤、不解析的方法名称
        '_empty'
    ]
];

单版本配置

新建控制器app/index/controller/Demo.php

<?php
namespace app\index\controller;

use think\Controller;
/**
 * @title   模块名称
 * @desc    我是模块名称
 * Class Index
 * @package app\index\controller
 */
class Demo extends Controller{
    /**
     * @title 方法1
     * @desc  类的方法1
     * @url   url('index/demo/index',true,'',true)
     *
     * @param int $page  0 999
     * @param int $limit 10
     *
     * @return int $id 0 索引
     * @return int $id 0 索引
     * @return int $id 0 索引
     */
     public function index(){}
}

修改doc.php 配置文件

'controller' => [
    'index/controller/Demo',
    'index/controller/Demo2',
]

多版本配置 新建控制器app/index/controller/v2/Demo.php

<?php
namespace app\index\controller\v2;
use think\Controller;
/**
 * @title   模块名称
 * @desc    我是模块名称
 * Class Index
 * @package app\index\controller\v2
 */
class Demo extends Controller{
    /**
     * @title 方法1
     * @desc  类的方法1
     * @url   url('index/v2.demo/index',true,'',true)
     *
     * @param int $page  0 999
     * @param int $limit 10
     *
     * @return int $id 0 索引
     * @return int $id 0 索引
     * @return int $id 0 索引
     */
     public function index(){}
}

修改doc.php 配置文件

    'controller' => [
        [
            'name'=>'v2版本',
            'list'=>[
                'index\controller\v2\Demo', //控制器的命名空间+控制器名称(不需要加\\app)
                'index\controller\v2\Demo', //支持两层控制器URL自动生成
                'index\controller\v2\Demo'
            ]
        ],
        [
            'name'=>'v3版本',
            'list'=>[
                'index\controller\v3\Demo', //控制器的命名空间+控制器名称(不需要加\\app)
                'index\controller\v3\Demo', //支持两层控制器URL自动生成
                'index\controller\v3\Demo'
            ]
        ]
    ]

####3、书写规范

  • 请参考Demo.php文件

####4、访问方法

更新日志

2019年10月23日(V1.0.0)

  • 正式发布