一個基於 thinkphp5 的自動生成 api 文檔的包

reflection_api_doc

將會是一個基於 thinkphp5 的PHP自動生成api文檔的庫php

雖然如今是 v1.0_beta 版本 可是本庫旨在爲開發者提供思路。具體優化也能夠你們本身開發一套屬於本身的庫。git

Github 地址github

composer( packagist.org )thinkphp

  • 使用方法:api

在 extra 目錄下建立文件名爲 documents.php 的配置文件。app

配置文件內容以下:composer

<?php
return [
    'title' => "北京想得美科技有限公司",
    'description' => '"想的美app" | APi接口文檔等等。',
    'template' => 'apple', // 蘋果綠:apple 葡萄紫:grape
    'class' => [
        'app\index\controller\Demo',
        'app\index\controller\Product',
        'app\index\controller\Store',
    ],
];

其中 template 爲模板類型,暫時提供兩種模板風格,分別爲蘋果綠和葡萄紫,雖然兩套模板都是巨醜無比。因此使用的過程當中也能夠本身開發模板。thinkphp5

重點: class 爲將要生成文檔的類(帶命名空間)優化

  • 示例:ui

註釋參數 含義 說明
@title 標題 文檔生成的類方法標題
@desc 描述 格式以下,地址、請求方式、備註等
@param 接收參數 格式以下,名稱、類型、是否必須、默認值、說明等
@return 返回參數 格式以下,名稱、類型、是否必須、說明等

類的具體實現方法:

/**
 * @title 文章接口管理
 */
class Article extends Controller
{
    /**
     * @title 獲取文章列表
     * @desc  {"0":"接口地址:http://open.opqnext.com/index.php?c=article&a=index","1":"請求方式:GET","2":"接口備註:必須傳入keys值用於經過加密驗證"}
     * @param {"name":"page","type":"int","required":true,"default":"1","desc":"頁數"}
     * @param {"name":"keys","type":"string","required":true,"default":"xxx","desc":"加密字符串,substr(md5(\"約定祕鑰\".$page),8,16)"}
     * @param {"name":"word","type":"string","required":false,"default":"null","desc":"搜索關鍵字"}
     * @param {"name":"cate","type":"int","required":false,"default":0,"desc":"分類ID,不傳表示全部分類"}
     * @param {"name":"size","type":"int","required":false,"default":5,"desc":"每頁顯示條數,默認爲5"}
     * @return {"name":"status","type":"int","required":true,"desc":"返回碼:1成功,0失敗","level":1}
     * @return {"name":"message","type":"string","required":true,"desc":"返回信息","level":1}
     * @return {"name":"data","type":"array","required":true,"desc":"返回數據","level":1}
     * @return {"name":"id","type":"string","required":true,"desc":"文章ID(22位字符串)","level":2}
     * @return {"name":"title","type":"string","required":true,"desc":"文章標題","level":2}
     * @return {"name":"thumb","type":"string","required":true,"desc":"文章列表圖","level":2}
     * @return {"name":"content","type":"text","required":true,"desc":"文章內容","level":2}
     * @return {"name":"cate","type":"int","required":true,"desc":"文章分類","level":2}
     * @return {"name":"tags","type":"array","required":true,"desc":"文章標籤","level":2}
     * @return {"name":"id","type":"string","required":true,"desc":"標籤ID","level":3}
     * @return {"name":"tag","type":"string","required":true,"desc":"標籤名稱","level":3}
     * @return {"name":"count","type":"int","required":true,"desc":"標籤使用數","level":3}
     * @return {"name":"img","type":"array","required":true,"desc":"文章組圖","level":2}
     */
    public function index(){
        //... 具體實現方法
    }
  • 預覽

長相通常的蘋果綠:

長相也通常的葡萄紫:

  • 支持

若是有使用自動生成文檔的需求或者之類的,歡迎加入 QQ羣:452209691 共同探討。

相關文章
相關標籤/搜索