首页 » 网站推广 » php53情况技巧_PHP73情形的CodeIgniter3框架集成swaggerUI

php53情况技巧_PHP73情形的CodeIgniter3框架集成swaggerUI

访客 2024-11-03 0

扫一扫用手机浏览

文章目录 [+]

上一篇已经在CodeIgniter 3 框架上集成了swagger-php3,可以输入json格式的数据,这样不直不雅观,接着做swagger-UI集成到框加的考试测验。

与利用composer安装swagger-php不同,这次直接从站点下载UI库,站点地址是:https://github.com/swagger-api/swagger-ui/releases 选最新版就可以,我下载的是swagger-ui-5.11.8。

php53情况技巧_PHP73情形的CodeIgniter3框架集成swaggerUI

下载并解压后,把这个目录直接复制到CI框的根目录的static目录下,这里放着一些第三方的js类的库文件。
实际我们要用到是swagger-ui-5.11.8/dist目录的文件。

php53情况技巧_PHP73情形的CodeIgniter3框架集成swaggerUI
(图片来自网络侵删)

UI库文件准备好了,下面要把扫描的json数据记录的文件里,我在框的根目录新建了一个public目录,用于存在swagger.js文件。

有一个必要的 view文件要新建,它的位置和名称是application/view/swagger.php,这个文件用于利用天生的json文件再调用UI库的方法加工出俊秀的界面,它的内容如下:

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title><?php echo $title;?></title>

<link rel="stylesheet" type="text/css" href="<?php echo base_url(); ?>static/swagger-ui-5.11.8/dist/swagger-ui.css">

</head>

<body>

<div id="swagger-ui"></div>

<script src="<?php echo base_url(); ?>static/swagger-ui-5.11.8/dist/swagger-ui-bundle.js"></script>

<script src="<?php echo base_url(); ?>static/swagger-ui-5.11.8/dist/swagger-ui-standalone-preset.js"></script>

<script>

window.onload = function() {

const ui = SwaggerUIBundle({

url: "<?php echo base_url(); ?>public/swagger.json",

dom_id: "#swagger-ui",

presets: [

SwaggerUIBundle.presets.apis,

SwaggerUIStandalonePreset

],

layout: "BaseLayout"

});

}

</script>

</body>

</html>

好了,剩下末了一步了,改造一下掌握器文件,它在这个位置 application/controller/swagger.php,修正后的内容如下:

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

require_once APPPATH . '/third_party/vendor/autoload.php';

use OpenApi\Annotations as OA;

class Swagger extends CI_Controller

{

function __construct()

{

parent::__construct();

}

public function index()

{

if($this->scan_api()) {

$data['title'] = 'Swagger UI';

$this->load->view('swagger', $data);

} else {

echo "Create Swagger File Error";

}

}

private function scan_api()

{

$path = APPPATH . '/controllers/api';

$openapi = \OpenApi\scan($path);

if(file_put_contents(FCPATH.'/public/swagger.json', $openapi->toJson())) {

return true;

} else {

return false;

}

}

}

好了,见证奇迹的时候到了,在浏览器输入: http://swagger.test.com/swagger

正常是这样显示的:

标签:

相关文章

招商蛇口中国房地产龙头企业,未来可期

招商蛇口(股票代码:001979),作为中国房地产企业的领军企业,自成立以来始终秉持“以人为本,追求卓越”的经营理念,致力于打造高...

网站推广 2025-02-18 阅读1 评论0