首頁  >  文章  >  後端開發  >  把Swagger插件集合到ThinkPHP框架裡面

把Swagger插件集合到ThinkPHP框架裡面

WBOY
WBOY原創
2016-08-18 09:15:571791瀏覽

我安裝這個網站的教學來把swagger插件合成到ThinkPHP中;https://github.com/fengdeqiao...
發現這個教學很多坑,一不小心就會出錯。我現在合成到第四步:

**

第四步:thinkphp使用swagger-php

**

如果我們每次修改了api,還要手動執行第三步驟的程式碼,有些繁瑣,那我們就在控制器中寫一個方法,每次訪問swagger-ui的時候自動執行,然後跳到前台swagger介面中。

注意:在thinkphp的入口檔案index.php中加入require './vendor/autoload.php';

下面是控制器裡面的方法

$path = 'E:wamp64wwwtp'; //你想要哪個資料夾下面的註解產生對應的API文檔
$swagger = Swaggerscan($path);
//header('Content-Type: application/json' );
//echo $swagger;
$swagger_json_path = $path.'/swagger-docs/swagger.json';
$res = file_put_contents($swagger_path, $swagger);
if ($res == true) {
$this->redirect('http://localhost/swagger-ui/d...');
}

可是呼叫 scan()函數就報錯,說 Class 'SwaggerStaticAnalyser' not found
哪位高手能告訴我要如何修改!

回覆內容:

我安裝這個網站的教學來把swagger插件合成到ThinkPHP中;https://github.com/fengdeqiao...
發現這個教學很多坑,一不小心就會出錯。我現在合成到第四步:

**

第四步:thinkphp使用swagger-php

**

如果我們每次修改了api,還要手動執行第三步驟的程式碼,有些繁瑣,那我們就在控制器中寫一個方法,每次訪問swagger-ui的時候自動執行,然後跳到前台swagger介面中。

注意:在thinkphp的入口檔案index.php中加入require './vendor/autoload.php';

下面是控制器裡面的方法

$path = 'E:wamp64wwwtp'; //你想要哪個資料夾下面的註解產生對應的API文檔
$swagger = Swaggerscan($path);
//header('Content-Type: application/json' );
//echo $swagger;
$swagger_json_path = $path.'/swagger-docs/swagger.json';
$res = file_put_contents($swagger_path, $swagger);
if ($res == true) {
$this->redirect('http://localhost/swagger-ui/d...');
}

可是呼叫 scan()函數就報錯,說 Class 'SwaggerStaticAnalyser' not found
哪位高手能告訴我要如何修改!

不謝https://github.com/TIGERB/swa...

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn