SW-X 专为便捷而生

SwooleX介绍

SW-X:SwooleX,基于Swoole 4.5.0+ 原生开发的一个高性能、便捷开发框架,内置常驻内存,注解路由,连接池,不依赖传统的 PHP-FPM,全异步非阻塞 IO 实现。
经过框架的路由转发,实现;逻辑层面向传统MVC模式开发,便于刚接触Swoole的PHPer可以快速上手,局部的注解依赖实现了Ioc、AOP、Route绑定等等,可以用于构建高性能的Web系统、API、中间件、基础服务等等。

<?php
/**
 * +----------------------------------------------------------------------
 * 示例控制器
 * +----------------------------------------------------------------------
 * 官网:https://www.sw-x.cn
 * +----------------------------------------------------------------------
 * 作者:小黄牛 <1731223728@qq.com>
 * +----------------------------------------------------------------------
 * 开源协议:http://www.apache.org/licenses/LICENSE-2.0
 * +----------------------------------------------------------------------
*/

namespace app\controller;
use x\Controller;

/**
 * Ioc注入需要是public类型的,否则无法正常注入
 * @Ioc(class="x\Db", name="Db")
 * @AopBefore(class="app\aop\Demo", function="before")
 * @AopAfter(class="app\aop\Demo", function="after")
 * @AopAround(class="app\aop\Demo", function="around")
 * @AopThrows(class="app\aop\Demo", function="throws")
 * @Controller(prefix="index")
*/
class Index extends Controller
{
    /**
     * 这是一个允许被外部访问的控制器,路由为:index/index
     * @RequestMapping(route="/index", method="GET", title="主页控制器")
     * @Param(name="username", type="string", empty="true", tips="请输入用户名")
     * @Param(name="password", value="123456", type="string", empty="true", tips="请输入登录密码")
     * @Param(name="id", type="int|string", value="1", empty="true", min="10", max="20", chinese="true", tips="这是一条全参数支持的Param注解", callback="\lifecycle\annotate_param")
     * @Ioc(class="\x\Db", name="Db")
     * @TestCase(class="\other\testcase\index\test", title="用例一")
     * @TestCase(class="\other\testcase\index\test2", title="用例二")
     * @Test(msg="我是自定义的注解,你可以自己定义注解支持哦")
    */
    public function index() {
        return $this->fetch('SW-X:Hello Word!');
    }
    
    /**
     * 这是一个不允许被外部访问的控制器
     * @onRoute
    */
    public function test() {
        return $this->fetch('No Route');
    }
}
协程框架 SW-X 是基于 Swoole 原生协程的注解式框架,自带常驻内存以及 Swoole 其它功能的封装。
注解编程 框架实现了逻辑层的注解绑定,支持Ioc、AOP、Route等多种注解,并支持开发者实现自定义注解标签,可以在不改变实例内部的情况下,对实例的行为和初始化进行控制。
单元测试 SW-X内置的注解式单元测试,可以有效的将DAO数据隔离,实现了DAO无污染的细化单元测试用例。
数据库 数据提供ORM支持,数据库的封装高度兼容 PHP各类框架语法,方便Phper 快速切换到 SW-X。
连接池 框架自带 Mysql/Redis 高效连接池,且实现所有连接断线重连。开发者不用关心连接池,相应组件已经实现。
RPC服务 SW-X的RPC服务分为RpcServer、RpcClient和RpcWeb服务中心三大组件。框架提供了完整的RPC服务,并封装了FPM模式下可直接使用的RpcClient客户端,可以优雅高效的使用Rpc服务。

AB压力测试

测试环境为:4核4G+CentOS7.6环境。
指令:ab -c 200 -n 200000 -k http://127.0.0.1:9502/

Copyright @ 2020 至今 sw-x.cn All Right Reserved 版权所有 | 作者博客:小黄牛