核心概念
本章介绍 Viswoole 框架的五大核心机制:依赖注入容器、门面(Facade)、事件系统、协程环境与验证器。它们共同构成框架的骨架——业务代码中的路由分发、请求处理、数据读写都建立在这些机制之上。
本章内容
| 篇章 | 类型 | 说明 |
|---|---|---|
| 容器与依赖注入 | 参考 + 解释 | App::factory() 全局单例容器的绑定、解析、方法注入与请求级协程隔离 |
| 门面 | 参考 | 门面的静态转发原理、全部门面清单与 IDE 提示优化命令 |
| 事件系统 | 参考 | 事件的注册、定向触发、框架生命周期事件清单与 Swoole 事件挂钩 |
| 协程环境与常驻内存 | 解释 | Swoole 协程模型、协程上下文、连接池原理与常驻内存开发红线 |
| 验证器 | 参考 | 注解式参数校验、内置规则全表与自定义规则开发 |
全局架构
text
┌─────────────────────────────────────────────────────┐
│ 应用容器 (App extends Container) │
│ App::factory() 全局单例 · 服务注册 · 魔术属性 │
├─────────────────────────────────────────────────────┤
│ 门面层 (Facade) 静态调用 → 转发到容器实例 │
│ 助手函数 (helper.php) app() / make() / config() … │
├─────────────────────────────────────────────────────┤
│ 事件系统 (Event) on / emit / off / 定向触发 │
│ 协程层 (Coroutine) 上下文隔离 · 连接池 · Channel │
│ 验证器 (Validate) 注解规则 · 容器注入时自动执行 │
└─────────────────────────────────────────────────────┘一个关键前提
Viswoole 运行在 Swoole 常驻内存 + 协程环境中,这与传统 PHP-FPM「每请求重新加载一切」的模型根本不同:
- 容器中的单例按请求根协程隔离存储,每个 HTTP 请求拥有独立的服务实例集合,请求结束自动销毁(详见容器);
- 进程级长生命周期的只有全局服务(
log、cache、db、router等)和只读元数据; - 因此类的 static 属性禁止存放请求级状态,连接等资源一律交给连接池管理(详见协程环境与常驻内存)。
理解这一点后再阅读本章其余内容,很多设计决策会变得理所当然。
学习建议
- 先读容器与依赖注入,它是其余一切机制的基础;
- 通过门面和助手函数掌握框架服务的日常访问方式;
- 事件系统用于在不动框架代码的前提下介入框架生命周期;
- 协程环境与常驻内存解释框架的运行模型,动笔写业务前务必阅读;
- 验证器配合控制器参数注入使用,是编写接口的第一道防线。
