寒窗轩,寒川的个人网络博客,记录互联网事,学习网络编程、分享工作经验、人生感悟,包括但不限于程序代码、数据库、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();
        return 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();
        return 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-08-16 10:57:52 2 55 1449 ThinkPHPPHPAPI注释文档

昵称:

验证码:验证码

评论:

文章分类
系统
程序
数据
Office
随笔
热门文章
pdf、word、txt、excel等文档转flash(swf)软件—虚拟打印机FlashPaper
Excel文件内容很少,但文件很大,打开很慢、很卡怎么办?
PHP以Excel模板填充数据并生成新的Excel文件
PHP实现远程下载,并显示实时下载进度
记一次Seafile数据迁移
2020开局不顺
基于ThinkPHP6的API注释文档自动生成扩展
饥饿站台观后感
开篇第一章
Win10更新后不显示文字
文章推荐
请不要奇怪,为什么最近博客的文章是几年前的内容
免责声明
关于博主
开篇第一章
随机推荐
洗衣
php遍历文件夹读取文件夹中图片并分页显示图片
搬校区了
从游戏到团结合作
pidgin升级到2.7.0居然安装失败
博客域名差点过期了
从火山互联学习linux VPS-2
对于不支持htaccess的主机不带www的域名301跳转到带www的域名
网站模板对SEO(搜索引擎优化)的影响
我今年二十七八岁
友情连接
春燕网络