Core
Core
是 EasySwoole
框架中核心的基礎架構對象,這是一個單例對象,它的完整實現在 \EasySwoole\EasySwoole\Core
。
關鍵函數
__construct
在構造函數中,做了以下兩件事:
- 常量定義
defined('SWOOLE_VERSION') or define('SWOOLE_VERSION', intval(phpversion('swoole')));
defined('EASYSWOOLE_ROOT') or define('EASYSWOOLE_ROOT', realpath(getcwd()));
defined('EASYSWOOLE_SERVER') or define('EASYSWOOLE_SERVER', 1);
defined('EASYSWOOLE_WEB_SERVER') or define('EASYSWOOLE_WEB_SERVER', 2);
defined('EASYSWOOLE_WEB_SOCKET_SERVER') or define('EASYSWOOLE_WEB_SOCKET_SERVER', 3);
- 全局
EasySwooleEvent.php
事件引入
在該構造函數中嘗試重新定義
EASYSWOOLE_ROOT
常量是為了支持用戶自定義腳本啟動
runMode
可以通過調用此函數獲取框架當前運行的模式,默認模式為 dev
。可在框架啟動時指定模式和要加載的配置文件,詳細見 基礎管理命令。然后在框架任何地方調用此函數以獲取當前運行的模式,方便調試。
使用示例:在控制器中調用
if (\EasySwoole\EasySwoole\Core::getInstance()->runMode() == 'dev') {
// 開發模式下執行的邏輯
}
initialize
框架核心骨架初始化,做了以下幾件事
- 根據運行模式加載配置文件
- 初始化臨時目錄和日志目錄
- 初始化錯誤處理器
- 調用全局
EasySwooleEvent.php
中的initialize
事件
createServer
根據配置文件,調用 ServerManager
初始化對應的 Swoole實例
,并執行以下事情:
- 調用全局
EasySwooleEvent.php
中的mainServerCreate
事件 - 注冊框架系統默認的事件回調
- 附加處理,例如注冊
CronTab
進程、注冊Task
進程等
start
根據配置文件中設置的服務名稱,設置服務名稱和進程的名稱,調用 ServerManager
,啟動框架。