博客列表 >PHP 基于 SW-X 框架,搭建高性能API架构(二)

PHP 基于 SW-X 框架,搭建高性能API架构(二)

广州PHP
广州PHP原创
2022年02月28日 17:27:52503浏览

1、开启自动热重载

开发阶段中,对swoole项目启动自动热更新代码是很有必要的,不然每次更新了代码,都需要手动reload一次服务。

SW-X的热重载除了对框架配置文件、公共函数、Swoole-Event事件无效外,其他文件的修改都有效。

只需要修改,/config/reload.php 下的配置文件即可开启:

  1. <?php
  2. return [
  3. // 是否启用热重载
  4. 'status' => false,
  5. // 检测的间隔时间(S)
  6. 'interval_time' => 3,
  7. // 只监听的文件后缀
  8. 'monitor_suffix' => 'php,html',
  9. // 监听的目录
  10. 'monitor_list' => [
  11. '/app/',
  12. '/extend/',
  13. ],
  14. // 移出监听的目录
  15. 'remove_list' => [],
  16. ];

2、创建控制器版本目录

  1. /app/http/v1_0_1/controller/

使用 INFO_PATH 路由风格,创建一个 商品查询 接口 :

完成的文件地址:

  1. /app/http/v1_0_1/controller/shop/select.php

代码如下:

  1. <?php
  2. namespace app\http\v1_0_1\controller\shop;
  3. use x\controller\Http;
  4. class test1 extends Http
  5. {
  6. public function index() {
  7. return $this->fetch('演示接口地址');
  8. }
  9. }

现在通过URL访问:http://IP地址:端口/v1_0_1/controller/shop/select 就能访问到这个接口了。

3、设置路由映射

实际开发中,我们是不想把版本号显示给前端的,例如上面的接口,我们只想展示为:

  1. http://IP地址:端口/api/shop/select

为了对应这种场景,SW-X支持在 /box/route.php 自定义路由表文件中,使用 \x\Route 类 进行镜像绑定:

  1. <?php
  2. use x\Route;
  3. // 镜像映射
  4. Route::mirror([
  5. '/v1_0_1/controller/' => '/api/',
  6. ]);

保存成功后,需要先stop,再start服务后生效。

注意:路由绑定成功后,原来的路由地址会失效,不会保留。

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议