wen130/framework

PHP framework

Maintainers

Package info

gitee.com/wen130/framework

pkg:composer/wen130/framework

Transparency log

Statistics

Installs: 0

Dependents: 0

Suggesters: 0

4.0.50 2026-08-04 02:10 UTC

README

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

版本 4.0.19 | PHP >= 8.1 | Workerman 5.x / Swoole >= 5.0

特性

  • 环境自适应:一套代码五模式无缝切换,协程混合部署(按端口独立开关)
  • PSR 标准化:PSR-7 请求/响应、PSR-11 容器、PSR-15 中间件
  • 路由系统:FastRoute 正则/规则路由 + 路由分组(前缀 + 中间件)
  • 参数自动注入:控制器方法参数自动从 $_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.phpFiberAI / 长连接
🆕 Swoolestart_swoole.php原生替代 Workerman 协程
CLIphp task.php定时任务

文档

  • 设计文档 — 架构、模块设计、运行模式、异常处理
  • 开发文档 — 快速开始、路由、数据库、中间件、SSE、Swoole
  • 最佳实践 — 分层、缓存、安全、部署、Swoole 运维