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 | - | 用于判斷當前服務是否已經啟動 |