主要使用 ReflectionMethod,glob
假設 控制器目錄是 /home/www/api/application/controllers/ _DIR__
$files = glob(__DIR__.'/*.php'); 掃除全部的控制器文件、逐一加載至 ReflectionClass類裏面、
$reflector = $m->getClass($controller);
$classDocument = $reflector->getDocComment() //可以拉取類的註釋、
$methods = $reflector->getMethods(\ReflectionMethod::IS_PUBLIC); //獲取所有的public方法、
foreach ($methods as $method_obj) { //逐個方法解析註釋
$docComment = $reflector->getMethod($method_obj->name)->getDocComment(); 這裏取回來的是類似這種 /** * @desc 殼遊戲詳情 * @apiparam {"name":"id","type":"int" ,"desc":"ID","require":"true"} * @return array */ 然後你懂得、逐行解析,比如定義一些自己用的關鍵字、
比如 apiparam 代碼入參、id,int類型的,表示ID,且必填,之後表格輸出美化、
example_ret 表示出參 一串json,並逐一解釋出參的意義
request_demo 表示請求實例、可以輸入一串請求的地址、在對應的頁面上直接請求出解鎖
}