1.打开tp下的composer.json修改
"require":{
"PHP": ">=5.4.0",
"topthink/framework":"^5.0"
},
//在require后增加zircote/swagger-php
"require":{
"PHP": ">=5.4.0",
"topthink/framework":"^5.0",
"zircote/swagger-php" :"*"
}
2.之后在根目录运行
composer update
3.等待安装完成后或者直接在打开命令窗口之后运行
composer require zircote/swagger-php
4.提示安装完成后执行
composer global require zircote/swagger-php
在vendor中会生成一个zircote组件文件夹,说明插件安装成功了
5.在public根目录新建一个swaggerApi文件夹(用来存储生成的swagger.json)
php /var/www/html/ownproject/vendor/zircote/swagger-php/bin/swagger /var/www/html/ownproject/application/index/controller -o /var/www/html/ownproject/public/swaggerApi/swagger.json
第一个路径是你安装成功后组件的路径;第二个路径是你想要生成这个目录下所有swagger方式注释的PHP文件,把所有注释生成api文档,第三个路径是存放生成swagger.json的路径。
6.可以写个控制器,每次访问时重新生成json文件并且打开swagger
<?php
namespace app\index\controller;
use think\Controller;
class Index extends Controller
{
public function index(){
$path = '../application'; //你想要哪个文件夹下面的注释生成对应的API文档
$swagger = \Swagger\scan($path);
// header('Content-Type: application/json');
// echo $swagger;
$swagger_json_path = '../public/swaggerApi/swagger.json';
$res = file_put_contents($swagger_json_path, $swagger);
if ($res == true) {
$this->redirect('http://www.tpswagger.com/swagger-ui/dist/index.html');
}
}
}
>
7.在public文件夹下安装swagger
git clone https://github.com/swagger-api/swagger-ui.git
下载下来只要dist目录下的文件(可以修改为 swagger-ui)
替换index.html SwaggerUIBundle url//更改此url为你tp5内生成的json文件