标签:this bin rect eset ack color http pac you
1、首先安装composer和git
2、在宝塔中新建个域名:www.tpsw.com
3、安装tp5.0
composer create-project topthink/think=5.0.* tp5 --prefer-dist
4、将tp5的文件放在根目录
6、打开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" :"*" },
之后在根目录运行
composer update
等待安装完成后或者直接在打开命令窗口之后运行
composer require zircote/swagger-php
提示安装完成后执行
composer global require zircote/swagger-php
在vendor中会生成一个zircote组件文件夹,说明插件安装成功了
7、在根目录新建一个swaggerApi文件夹存储生成的swagger.json
8、执行命令:
php /www/wwwroot/tp/vendor/zircote/swagger-php/bin/swagger /www/wwwroot/tp/vendor/zircote/swagger-php/Examples -o /www/wwwroot/tp/swaggerApi/swagger.json
第一个路径是你安装成功后组件的路径;第二个路径是你想要生成这个目录下所有swagger方式注释的PHP文件,把所有注释生成api文档,第三个路径是存放生成swagger.json的路径。
可以写个控制器,每次访问时重新生成json文件并且打开swagger
<?php namespace app\index\controller; use think\Controller; class Index extends Controller { public function index(){ $path = ‘/www/wwwroot/tp/application‘; //你想要哪个文件夹下面的注释生成对应的API文档 $swagger = \Swagger\scan($path); // header(‘Content-Type: application/json‘); // echo $swagger; $swagger_json_path = ‘/www/wwwroot/tp/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‘); } } } >
第二安装swagger
在public文件夹下安装swagger,
git clone https://github.com/swagger-api/swagger-ui.git
安装完成后打开dist目录,打开index.html文件
<script> window.onload = function() { // Begin Swagger UI call region const ui = SwaggerUIBundle({ url: "http://www.tpswagger.com/swaggerApi/swagger.json",//更改此url为你tp5内生成的json文件 dom_id: ‘#swagger-ui‘, deepLinking: true, presets: [ SwaggerUIBundle.presets.apis, SwaggerUIStandalonePreset ], plugins: [ SwaggerUIBundle.plugins.DownloadUrl ], layout: "StandaloneLayout" }) // End Swagger UI call region window.ui = ui } </script>
标签:this bin rect eset ack color http pac you
原文地址:https://www.cnblogs.com/ziyandeyanhuo/p/11224962.html