当前位置:Gxlcms > PHP教程 > 把Swagger插件集合到ThinkPHP框架里面

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

时间:2021-07-01 10:21:17 帮助过:8人阅读

我安装这个网站的教程来把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...

人气教程排行