寒窗轩,寒川的个人网络博客,记录互联网事,学习网络编程、分享工作经验、人生感悟,包括但不限于程序代码、数据库、Office办公、随笔等内容。

基于ThinkPHP6的API注释文档自动生成扩展

本扩展基于weiwei/api-doc ThinkPHP5.0改造而来,本人非常喜欢原扩展,无奈ThinkPHP6.0发布以来原作者一直未更新该扩展,所以自己就改了这么一个,支持ThinkPHP6.0的API注释文档自动生成扩展。

使用方法

1、安装扩展

composer require misscx/api-doc

2、静态资源复制

  • 将本插件目录src/apidoc复制到的到网站静态资源目录内,如将apidoc目录复制到网站根目录的/static下,目录结构如下: /static/apidoc

3、配置参数

安装好扩展后在 app\config\ 文件夹下会生成 doc.php 配置文件,打开配置文件修改如下内容:

  • 修改静态资源所在位置

'static_path' => '/static/apidoc',//静态资源所在位置
  • 在controller参数中添加需要生成文档的类

    'controller' => [
        'app\\controller\\Demo' //这个是控制器的命名空间+控制器名称
    ]
  • 配置路由 将本扩展src目录内route文件夹中的路由配置文件doc.php复制到路由目录内,如:/route/doc.php。

4、注释举例

  • 插件目录下有个Demo.php,可将其放入app/controller/下,单应用模式下有效,对于多应用模式,请根Demo.php进行修改。

  • Demo.php文件如下:返回参数支持数组及多维数组

<?php
namespace app\controller;

use think\facade\Request;

/**
 * @title 测试demo
 * @description 接口说明
 * @group 接口分组
 * @header name:key require:1 default: desc:秘钥(区别设置)
 * @param name:public type:int require:1 default:1 other: desc:公共参数(区别设置)
 */
class Demo
{
    /**
     * @title 测试demo接口
     * @description 接口说明
     * @author 开发者
     * @url /demo
     * @method POST
     *
     * @header name:device require:1 default: desc:设备号
     *
     * @param name:id type:int require:1 default:1 other: desc:唯一ID
     *
     * @return name:名称
     * @return mobile:手机号
     * @return list_messages:消息列表@
     * @list_messages message_id:消息ID content:消息内容
     * @return object:对象信息@!
     * @object attribute1:对象属性1 attribute2:对象属性2
     * @return array:数组值#
     * @return list_user:用户列表@
     * @list_user name:名称 mobile:手机号 list_follow:关注列表@
     * @list_follow user_id:用户id name:名称
     */
    public function index()
    {
        //接口代码
        $header = Request::header();
        $data = Request::request();
        echo json_encode(["code"=>200, "message"=>"success", "data"=>['header'=>$header,'data'=>$data]]);
    }

    /**
     * @title 登录接口
     * @description 接口说明
     * @author 开发者
     * @url /demo/login
     * @method GET
     * @module 用户模块

     * @param name:name type:int require:1 default:1 other: desc:用户名
     * @param name:pass type:int require:1 default:1 other: desc:密码
     *
     * @return name:名称
     * @return mobile:手机号
     *
     */
    public function login()
    {
        //接口代码
        $header = Request::header();
        $data = Request::request();
        echo json_encode(["code"=>200, "message"=>"success", "data"=>['header'=>$header,'data'=>$data]]);
    }
}

5、访问地址

在浏览器访问http://你的域名/doc或者http://你的域名/index.php/doc查看接口文档

特别鸣谢

本扩展基于weiwei/api-doc ThinkPHP5.0改造而来,本人非常喜欢原扩展,无奈ThinkPHP6.0发布以来原作者一直未更新该扩展,本人经修改后发布出来,在此对原作者表示由衷感谢和敬意!


程序 2020-07-26 11:29:24 0 37 234 ThinkPHPPHPAPI注释文档

昵称:

验证码:验证码

评论:

文章分类
系统
程序
数据
Office
随笔
热门文章
Excel文件内容很少,但文件很大,打开很慢、很卡怎么办?
PHP实现远程下载,并显示实时下载进度
2020开局不顺
Excel如何批量替换字符串?讲解Excel的字符替换函数SUBSTITUTE
PHP以Excel模板填充数据并生成新的Excel文件
本博客系统开启评论IP黑名单、关键词黑名单功能
CentOS无法删除文件怎么办
超酷绚的Excel点选变色,自动求合功能
开篇第一章
饥饿站台观后感
文章推荐
Win10更新后不显示文字
PHP实现远程下载,并显示实时下载进度
开篇第一章
随机推荐
CentOS无法删除文件怎么办
Excel如何批量替换字符串?讲解Excel的字符替换函数SUBSTITUTE
写在母亲忌日
PHP实现远程下载,并显示实时下载进度
PHP7报错:Call to undefined function mysql_connect(),如何兼容mysql_connect函数
饥饿站台观后感
win10切换虚拟桌面
Excel文件内容很少,但文件很大,打开很慢、很卡怎么办?
PHP以Excel模板填充数据并生成新的Excel文件
2020开局不顺
友情连接
春燕网络