欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

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

程序员文章站 2022-05-11 14:48:31
...
我安装这个网站的教程来把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...

相关标签: php swagger