PHP 8.3+ & Swoole 5.0+

基于 Swoole 协程
高性能 PHP 框架

Viswoole 提供协程级高性能驱动,优雅的依赖注入与参数校验, 内置服务发现与异步任务管理,让后端开发更高效、更稳定。

$composer create-project viswoole/viswoole myProject
PHP 8.3+
运行环境
Swoole 5+
协程引擎
Apache 2.0
开源协议
PSR
规范遵循

为高性能后端而生

每个特性都围绕性能与开发效率精心设计,让 PHP 后端开发焕然一新。

协程高性能

基于 Swoole 协程驱动,全异步非阻塞 IO,性能远超传统 PHP-FPM 模式。

💉

依赖注入

优雅的 IOC 容器,自动解析构造函数依赖,支持 Provider 服务注册与下发。

🛡️

参数校验

内置类型校验与扩展规则校验,注解声明即可生效,无需手写 validate 逻辑。

🔌

服务发现

自动扫描注册服务提供者,支持 Swoole 事件 HOOK,灵活扩展自定义服务。

📦

异步任务

内置轻量 Task 管理器,支持 TaskProxy 异步投递,中小项目开箱即用。

📘

API 文档生成

注解驱动自动生成 API 文档,包含请求参数结构与响应数据结构。

简洁而优雅

用最少的代码实现最多的功能,感受 Viswoole 的开发效率。

依赖注入 + 参数校验

构造函数自动注入请求与响应对象,接口类型自动校验请求参数,让开发者专注业务逻辑。

  • IOC 容器自动解析依赖
  • 接口类型即校验规则
  • 无需手写 validate 逻辑
  • 完整 PSR 规范支持
app/Controller/User.php
<?php

namespace App\Controller;

use Viswoole\HttpServer\Contract\RequestInterface;
use Viswoole\HttpServer\Contract\ResponseInterface;
use App\Interface\UserInfo;

/**
 * 用户控制器 - 展示依赖注入与参数校验
 */
class User
{
    // 通过构造函数自动注入 Request 和 Response
    public function __construct(
        private RequestInterface $request,
        private ResponseInterface $response,
    ) {}

    // 参数类型由接口自动校验,无需手写 validate
    public function info(UserInfo $userInfo): array
    {
        return [
            'name' => $userInfo->name,
            'gender' => $userInfo->gender->name,
        ];
    }
}
config/route/route.php
<?php

use Viswoole\Router\Facade\Router;

// 注册路由组,支持中间件、前缀等配置
Router::group('/api/v1', function () {
    Router::get('/user/info', ['App\\Controller\\User', 'info']);
    Router::post('/user/create', ['App\\Controller\\User', 'create']);
    Router::put('/user/update', ['App\\Controller\\User', 'update']);
    Router::delete('/user/delete', ['App\\Controller\\User', 'delete']);
});

灵活的路由配置

支持闭包路由、控制器路由、路由组、中间件等多种方式,满足各种场景需求。

  • RESTful 风格路由定义
  • 路由组统一管理前缀
  • 支持注解式自动路由
  • 中间件灵活拦截处理

三步快速上手

只需三条命令,即可启动一个完整的 Viswoole 项目。

01

创建项目

通过 Composer 快速创建项目脚手架

composer create-project viswoole/viswoole myProject
02

安装依赖

进入项目目录并安装 Composer 依赖

cd myProject && composer install
03

启动服务

启动 HTTP 服务,-d 参数后台运行

php viswoole server:start http -d