ServerManager
ServerManager
是 EasySwoole
框架中,用于全局存儲(chǔ) Swoole 對(duì)象實(shí)例
所用的一個(gè)單例對(duì)象。完整的代碼實(shí)現(xiàn)在 \EasySwoole\EasySwoole\ServerManager
。
關(guān)鍵函數(shù)
__construct
在構(gòu)造函數(shù)中,ServerManager
實(shí)例化了一個(gè)事件注冊(cè)器 \EasySwoole\EasySwoole\Swoole\EventRegister
,本質(zhì)上這是一個(gè)數(shù)組容器。該容器用于存儲(chǔ)注冊(cè)給 Swoole
實(shí)例的事件回調(diào)。
createSwooleServer
該函數(shù)會(huì)根據(jù)所傳遞的參數(shù)與配置項(xiàng),創(chuàng)建一個(gè) Swoole 實(shí)例
,并把該實(shí)例賦值存儲(chǔ)到 ServerManager 對(duì)象
的 swooleServer
屬性中。
addServer
該函數(shù)用于調(diào)用 Swoole 實(shí)例
的 addlistener
方法,創(chuàng)建一個(gè) Swoole的子服務(wù)
,并返回該主服務(wù)的事件注冊(cè)器 EventRegister
,注意該注冊(cè)器的作用域僅僅在對(duì)應(yīng)的子服務(wù)中。
start
該函數(shù)用于調(diào)用 Swoole 實(shí)例
的 start
方法,也就是實(shí)質(zhì)性地啟動(dòng)一個(gè) Swoole 服務(wù)
。該函數(shù)做了如下事情:
- 注冊(cè)主實(shí)例的事件回調(diào)
- 注冊(cè)各個(gè)子服務(wù)的事件回調(diào)
- 啟動(dòng)服務(wù)
其他函數(shù)
名稱 | 參數(shù) | 功能描述 |
---|---|---|
getSwooleServer | string $serverName = null | 用于獲取當(dāng)前的 Swoole 實(shí)例 或者是對(duì)應(yīng)子服務(wù)的 subPort 對(duì)象 |
getEventRegister | string $serverName = null | 用于獲取 主Swoole實(shí)例 或者是對(duì)應(yīng)子服務(wù)的subPort對(duì)象 的事件回調(diào)注冊(cè)容器 |
isStart | - | 用于判斷當(dāng)前服務(wù)是否已經(jīng)啟動(dòng) |