alex-lee/fastswoole

There is no license information available for the latest version (v1.1.3) of this package.

基于swoole写的一个MVC框架,功能正在逐步完善中

Maintainers

Package info

github.com/898601566/fastswoole

pkg:composer/alex-lee/fastswoole

Transparency log

Statistics

Installs: 10

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

v1.1.3 2021-09-15 08:11 UTC

This package is auto-updated.

Last update: 2026-08-27 03:44:13 UTC


README

基于 Swoole 的常驻内存 MVC 框架,功能正在逐步完善中。

主要特性

  • 控制反转容器 DI
  • APP 流程控制(模块/控制器/方法路由)
  • 控制器
  • ORM 模型类
  • 异常类(错误码集中管理)
  • URL 生成类
  • 视图类
  • 一键协程化(SWOOLE_HOOK_ALL
  • PDO / Redis 连接池(Worker 进程启动时按配置自动创建并注入 DI 容器)
  • 接口加签校验(可配置加密方法链、时间戳超时)
  • 接口限流(单位时间容量控制)
  • 静态文件处理与 CORS 跨域支持

环境要求

依赖 版本 说明
PHP >= 7.2 需启用 PDO、Redis 扩展(按需)
Swoole >= 4.4 使用 Swoole\Database\PDOPool 等特性
Composer - 依赖管理

安装

composer create-project alex-lee/fastswoole fastswoole

进入项目目录,复制环境变量模板并根据实际情况修改:

cp .example.env .env

如果需要更新框架使用

composer update alex-lee/swooleframe

快速开始

启动 HTTP 服务:

php bin/http_server.php

访问 http://127.0.0.1:9501(端口见 .env[SWOOLE] 节的 HTTP_PORT)。

内置示例路由:

路径 说明
/ 输出 HTML 欢迎页
/index/hello 输出 JSON
/index/coroutine 协程睡眠 1 秒后响应(验证一键协程化)
/index/systemError 抛出系统异常(验证异常处理)

目录结构

fastswoole/
├── app/                        # 应用代码
│   ├── exception/              # 异常定义(错误码集中管理)
│   └── index/                  # index 模块
│       ├── controller/         # 控制器
│       └── model/              # 模型(ORM)
├── bin/
│   └── http_server.php         # 服务启动入口
├── public/                     # 静态文件根目录
├── runtime/                    # 运行时日志(不提交,安装后自动创建)
├── .example.env                # 环境变量模板
├── composer.json
└── LICENSE

配置说明

所有配置通过项目根目录 .env 文件管理(参考 .example.env):

配置节 用途
[SWOOLE] 监听地址与端口
[APP] 调试模式、默认模块/控制器/方法
[DATABASE] MySQL 连接与连接池(USE 是否启用,POOL 每进程连接数,0 为不开启)
[REDIS] Redis 连接与连接池
[SIGN] 接口加签校验(盐值、加密方法、时间戳超时、签名字段)
[LIMIT] 接口限流(单位时间与容量)

控制器示例

<?php

namespace App\index\controller;

use App\exception\SystemException;
use Fastswoole\core\Controller;

class Index extends Controller
{
    public function index()
    {
        $this->app->html('<h1>Hello Swoole.</h1>');
    }

    public function hello()
    {
        $this->app->json(['hello' => 'fastswoole']);
    }

    public function systemError()
    {
        SystemException::throwException(SystemException::SYSTEM_ERROR);
    }
}

文档

暂无

参与开发

请参阅 核心框架包

版权信息

遵循 Apache2 开源协议发布,并提供免费使用。