將會是一個基於 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 共同探討。