ServerManager
ServerManager 是 EasySwoole 框架中,用于全局存储 Swoole 对象实例 所用的一个单例对象。完整的代码实现在 \EasySwoole\EasySwoole\ServerManager。
关键函数
__construct
在构造函数中,ServerManager 实例化了一个事件注册器 \EasySwoole\EasySwoole\Swoole\EventRegister,本质上这是一个数组容器。该容器用于存储注册给 Swoole 实例的事件回调。
createSwooleServer
该函数会根据所传递的参数与配置项,创建一个 Swoole 实例,并把该实例赋值存储到 ServerManager 对象 的 swooleServer 属性中。
addServer
该函数用于调用 Swoole 实例 的 addlistener 方法,创建一个 Swoole的子服务,并返回该主服务的事件注册器 EventRegister,注意该注册器的作用域仅仅在对应的子服务中。
start
该函数用于调用 Swoole 实例 的 start 方法,也就是实质性地启动一个 Swoole 服务。该函数做了如下事情:
- 注册主实例的事件回调
- 注册各个子服务的事件回调
- 启动服务
其他函数
| 名称 | 参数 | 功能描述 |
|---|---|---|
| getSwooleServer | string $serverName = null | 用于获取当前的 Swoole 实例 或者是对应子服务的 subPort 对象 |
| getEventRegister | string $serverName = null | 用于获取 主Swoole实例 或者是对应子服务的subPort对象 的事件回调注册容器 |
| isStart | - | 用于判断当前服务是否已经启动 |