SW-X 专为便捷而生

SwooleX介绍

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

<?php
// +----------------------------------------------------------------------
// | 示例控制器
// +----------------------------------------------------------------------
// | Copyright (c) 2018 https://www.sw-x.cn All rights reserved.
// +----------------------------------------------------------------------
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
// +----------------------------------------------------------------------
// | Author: 小黄牛 <1731223728@qq.com>
// +----------------------------------------------------------------------

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")
	*/
	public function index() {
		return $this->fetch('SW-X:Hello Word!');
	}
	
	/**
	 * 这是一个不允许被外部访问的控制器
	 * @onRoute
	*/
	public function test() {
		return $this->fetch('No Route');
	}
}
协程框架 SW-X 是基于 Swoole 原生协程的注解式框架,自带常驻内存以及 Swoole 其它功能的封装。
连接池 框架自带 Mysql/Redis 高效连接池,且实现所有连接断线重连。开发者不用关心连接池,相应组件已经实现。
注解编程 框架实现了逻辑层的注解绑定,支持Ioc、AOP、Route的注解写入,可以再不改变实例内部的情况下,对实例的行为和初始化进行控制。
数据库 数据提供ORM支持,数据库的封装高度兼容 ThinkPHP5.x,方便Phper 快速切换到 SW-X。

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 版权所有 | 作者博客:小黄牛