核心概念

Viswoole 框架的核心设计围绕以下五大概念展开,它们共同构成了框架的基础架构:

概念说明文档
依赖注入通过容器自动解析和管理对象依赖,实现松耦合的组件设计详细文档
事件系统基于发布-订阅模式的事件驱动机制,支持灵活的监听与触发详细文档
协程基础基于 Swoole 协程的并发编程模型,支持协程上下文隔离详细文档
门面模式提供静态代理接口,简化对框架核心服务的访问方式详细文档
参数校验声明式的参数校验系统,支持内置规则与自定义扩展详细文档

架构总览

text
┌─────────────────────────────────────────────────────┐
│                    应用层 (App)                       │
│  单例工厂 · 配置加载 · 服务注册 · 事件触发 · 路径解析   │
├─────────────────────────────────────────────────────┤
│                    门面层 (Facade)                    │
│  静态入口 · __callStatic 转发 · 全局辅助函数           │
├─────────────────────────────────────────────────────┤
│                    容器层 (Container)                 │
│  bind / make / get / invoke · 依赖注入 · 参数校验     │
├─────────────────────────────────────────────────────┤
│                  基础设施层                            │
│  事件系统 (Event) · 协程 (Coroutine) · 校验 (Validate) │
└─────────────────────────────────────────────────────┘

核心流程

应用初始化

php
// 获取全局唯一的应用实例(初始化在构造函数中自动完成)
$app = App::factory();

初始化过程按顺序执行以下步骤:

  1. 加载配置 — 读取 config/ 目录下的配置文件
  2. 设置时区 — 根据 app.default_timezone 配置设置默认时区
  3. 注册服务 — 遍历 config/app.php 中的 services 数组,依次调用各服务提供者的 register()boot() 方法
  4. 发出事件 — 触发 AppInitialized 事件,通知所有监听者应用已完成初始化

请求处理概览

text
请求进入 → 中间件处理 → 路由匹配 → 控制器注入 → 执行业务逻辑 → 返回响应

在整个请求生命周期中,容器负责对象的创建与依赖解析,事件系统负责各阶段的解耦通知,协程机制保障并发安全。

学习建议

如果你是第一次接触 Viswoole 框架,建议按以下顺序学习:

  1. 依赖注入 — 理解容器如何管理对象和解析依赖,这是框架的核心基础
  2. 门面模式 — 学会使用 Facade 和辅助函数快速访问框架服务
  3. 事件系统 — 掌握事件的注册与触发,实现模块间松耦合通信
  4. 协程基础 — 了解 Swoole 协程在框架中的应用与上下文隔离机制
  5. 参数校验 — 使用声明式校验保证输入数据的合法性