Search by

wen130 / framework

huangshaowen

PHP framework

Package info

gitee.com/wen130/framework

pkg:composer/wen130/framework

Statistics

Installs: 4

Dependents: 0

Suggesters: 0

4.0.64 2026-09-22 04:33 UTC

README

轻量级 PHP 框架,支持 Web(PHP-FPM) / Workerman / Workerman 协程 / Swoole / CLI 五种运行模式。生产环境已验证,非通用框架。

版本 4.0.57 | PHP >= 8.1 | Workerman 5.x / Swoole >= 6.0

特性

  • 环境自适应:一套代码五模式无缝切换,协程混合部署(按端口独立开关)
  • PSR 标准化:PSR-7 请求/响应、PSR-11 容器、PSR-15 中间件
  • 路由系统:FastRoute 正则/规则路由 + 路由分组(前缀 + 中间件)
  • 参数自动注入:控制器方法参数自动从协程隔离的 Request 匹配(路由变量 + GET/POST),不读共享超全局 $_GET/$_POST
  • 协程安全:Request/Session/Cookie/View/Dispatcher 按协程隔离(Swoole 原生 Context)
  • 异常 HTTP 状态码throw new Exception('msg', 402) → 自动 HTTP 402
  • SSE 流式响应chunkedStart/sendChunk/chunkedEnd(Web / Workerman / Swoole 全支持)
  • Cookie 全环境Cookie::set() 自动适配 Web header() / Workerman / Swoole Set-Cookie
  • 开发热重载:FileMonitor 文件变化自动重启(Workerman + Swoole 双实现)
  • 内存泄漏防护max_request 自动重启 worker,Workerman 额外支持 memory_limit + gc_interval

安装

composer require wen130/framework

快速开始

// 入口文件 index.php
define('ROOT_PATH', str_replace('\\', '/', __DIR__) . '/');
require ROOT_PATH . 'vendor/autoload.php';
\framework\core\App::getInstance()->run();
# Web (PHP-FPM)
http://www.dev.com

# Workerman
php -c php.ini workerman/start_web_api.php start -d

# 🆕 Swoole
php -c php.ini workerman/start_swoole.php        # 前台(开发)
php -c php.ini workerman/start_swoole.php -d     # 后台(生产)
php -c php.ini workerman/start_swoole.php -d -p 8096 -w 1   # 指定端口 + 1进程(AI等大内存场景)
kill -USR1 $(cat cache/swoole{port}.pid)                # 热重载

控制器示例

namespace www\action;
use framework\core\Action;

class index extends Action {
    public function index() {
        return ['ret' => 200, 'data' => null, 'msg' => 'ok'];
    }

    // 参数自动注入
    public function search(string $keyword, int $page = 1) {
        return $this->logic->search($keyword, $page);
    }

    // HTTP 状态码异常
    public function check() {
        if (!loggedIn()) throw new \Exception('请登录', 401);
    }
}

运行模式

模式命令协程适用
Web (FPM)Nginx → index.php传统 Web
Workermanworkerman/start_web_api.php同步 API(协程由 data/workerman.phpevent_loop 控制)
Workerman 协程workerman/start_web_api.phpFiber / Swoole 驱动AI / 长连接
🆕 Swooleworkerman/start_swoole.php原生替代 Workerman 协程
CLIphp index.php /api/task/<api>/<controller>/<action>定时任务 / 组件自测

文档

  • 设计文档 — 架构、模块设计、运行模式、异常处理
  • 开发文档 — 快速开始、路由、数据库、中间件、SSE、Swoole
  • 最佳实践 — 分层、缓存、安全、部署、Swoole 运维
  • DB 设计framework\db 多驱动连接、连接池、事务、心跳保活
  • Kvrocks 指南framework\nosql 全部 Kvrocks 组件使用说明
  • 工具类Text / Time / Ulid / UploadFile / Validate
  • lmstfy 队列 — 现役任务队列组件(实时 + 长延时)设计文档