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

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

前言

官网地址:SW-X框架-专注高性能便捷开发而生的PHP-SwooleX框架

希望各大佬举起小手,给小弟一个star:https://github.com/swoolex/swoolex


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服务后生效。

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

相关文章
|
1月前
|
JavaScript 前端开发 API
从架构到API,你真的掌握了Electron的全貌吗?
本文首发于微信公众号“前端徐徐”。作者徐徐从架构层面、协作方式、底层支持、源码层面及API设计等方面剖析了Electron的原理。通过分析Electron的核心组件(Chromium和Node.js)、进程隔离、上下文桥接及IPC机制等内容,揭示了Electron在设计上的精妙之处及其对开发高效、稳定桌面应用的重要性。了解这些原理有助于开发者更好地设计和解决问题。
143 2
从架构到API,你真的掌握了Electron的全貌吗?
|
14天前
|
缓存 负载均衡 JavaScript
探索微服务架构下的API网关模式
【10月更文挑战第37天】在微服务架构的海洋中,API网关犹如一座灯塔,指引着服务的航向。它不仅是客户端请求的集散地,更是后端微服务的守门人。本文将深入探讨API网关的设计哲学、核心功能以及它在微服务生态中扮演的角色,同时通过实际代码示例,揭示如何实现一个高效、可靠的API网关。
|
1月前
|
缓存 监控 API
探索微服务架构中的API网关模式
【10月更文挑战第5天】随着微服务架构的兴起,企业纷纷采用这一模式构建复杂应用。在这种架构下,应用被拆分成若干小型、独立的服务,每个服务围绕特定业务功能构建并通过HTTP协议协作。随着服务数量增加,统一管理这些服务间的交互变得至关重要。API网关作为微服务架构的关键组件,承担起路由请求、聚合数据、处理认证与授权等功能。本文通过一个在线零售平台的具体案例,探讨API网关的优势及其实现细节,展示其在简化客户端集成、提升安全性和性能方面的关键作用。
75 2
|
1月前
|
设计模式 API 开发者
探索现代后端开发:微服务架构与API设计
【10月更文挑战第6天】探索现代后端开发:微服务架构与API设计
|
15天前
|
SQL 缓存 测试技术
构建高性能RESTful API:最佳实践与避坑指南###
—— 本文深入探讨了构建高性能RESTful API的关键技术要点,从设计原则、状态码使用、版本控制到安全性考虑,旨在为开发者提供一套全面的最佳实践框架。通过避免常见的设计陷阱,本文将指导你如何优化API性能,提升用户体验,确保系统的稳定性和可扩展性。 ###
54 12
|
16天前
|
API PHP 数据库
PHP中哪个框架最适合做API?
在数字化时代,API作为软件应用间通信的桥梁至关重要。本文探讨了PHP中适合API开发的主流框架,包括Laravel、Symfony、Lumen、Slim、Yii和Phalcon,分析了它们的特点和优势,帮助开发者选择合适的框架,提高开发效率、保证接口稳定性和安全性。
40 3
|
18天前
|
XML JSON API
【PHP开发专栏】PHP RESTful API设计与开发
随着互联网技术的发展,前后端分离成为Web开发的主流模式。本文介绍RESTful API的基本概念、设计原则及在PHP中的实现方法。RESTful API是一种轻量级、无状态的接口设计风格,通过HTTP方法(GET、POST、PUT、DELETE)操作资源,使用JSON或XML格式传输数据。在PHP中,通过定义路由、创建控制器、处理HTTP请求和响应等步骤实现RESTful API,并强调了安全性的重要性。
22 2
|
20天前
|
监控 安全 应用服务中间件
微服务架构下的API网关设计策略与实践####
本文深入探讨了在微服务架构下,API网关作为系统统一入口点的设计策略、实现细节及其在实际应用中的最佳实践。不同于传统的摘要概述,本部分将直接以一段精简的代码示例作为引子,展示一个基于NGINX的简单API网关配置片段,随后引出文章的核心内容,旨在通过具体实例激发读者兴趣,快速理解API网关在微服务架构中的关键作用及实现方式。 ```nginx server { listen 80; server_name api.example.com; location / { proxy_pass http://backend_service:5000;
|
22天前
|
缓存 监控 API
探索微服务架构中的API网关模式
随着微服务架构的兴起,API网关成为管理和服务间交互的关键组件。本文通过在线零售公司的案例,探讨了API网关在路由管理、认证授权、限流缓存、日志监控和协议转换等方面的优势,并详细介绍了使用Kong实现API网关的具体步骤。
42 3
|
22天前
|
存储 缓存 监控
探索微服务架构中的API网关模式
探索微服务架构中的API网关模式
42 2
下一篇
无影云桌面