0
点赞
收藏
分享

微信扫一扫

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

Ad大成 2022-02-28 阅读 42

1、开启自动热重载

开发阶段中,对swoole项目启动自动热更新代码是很有必要的,不然每次更新了代码,都需要手动reload一次服务。
SW-X的热重载除了对框架配置文件、公共函数、Swoole-Event事件无效外,其他文件的修改都有效。
只需要修改,​​/config/reload.php​​ 下的配置文件即可开启:

<?php
return [
// 是否启用热重载
'status' => false,
// 检测的间隔时间(S)
'interval_time' => 3,
// 只监听的文件后缀
'monitor_suffix' => 'php,html',
// 监听的目录
'monitor_list' => [
'/app/',
'/extend/',
],
// 移出监听的目录
'remove_list' => [],
];

2、创建控制器版本目录

/app/http/v1_0_1/controller/

使用 ​​INFO_PATH​​ 路由风格,创建一个 ​​商品查询​​ 接口 :
完成的文件地址:

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

代码如下:

<?php
namespace app\http\v1_0_1\controller\shop;
use x\controller\Http;

class test1 extends Http
{

public function index() {
return $this->fetch('演示接口地址');
}
}

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

3、设置路由映射

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

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

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

<?php
use x\Route;
// 镜像映射
Route::mirror([
'/v1_0_1/controller/' => '/api/',
]);

保存成功后,需要先stop,再start服务后生效。
注意:路由绑定成功后,原来的路由地址会失效,不会保留。

举报

相关推荐

0 条评论