diff --git a/Server/ServerManager.php b/Server/ServerManager.php index b818e41a..c893b86f 100644 --- a/Server/ServerManager.php +++ b/Server/ServerManager.php @@ -98,7 +98,7 @@ class ServerManager */ public function initBaseServer($configs, int $daemon = 0): void { - $context = ServerManager::getContext(); + $context = di(ServerManager::class); foreach ($this->sortService($configs['ports']) as $config) { $this->startListenerHandler($context, $config, $daemon); } diff --git a/System/Abstracts/BaseApplication.php b/System/Abstracts/BaseApplication.php index 6fc821db..4f41de7f 100644 --- a/System/Abstracts/BaseApplication.php +++ b/System/Abstracts/BaseApplication.php @@ -213,11 +213,11 @@ abstract class BaseApplication extends Component /** * @param TaskExecute $execute - * @throws ReflectionException + * @throws ReflectionException|NotFindClassException */ public function task(TaskExecute $execute): void { - ServerManager::getContext()->task($execute); + di(ServerManager::class)->task($execute); } @@ -400,10 +400,11 @@ abstract class BaseApplication extends Component /** * @return \Swoole\Http\Server|\Swoole\Server|\Swoole\WebSocket\Server|null + * @throws */ public function getSwoole(): \Swoole\Http\Server|\Swoole\Server|\Swoole\WebSocket\Server|null { - return ServerManager::getContext()->getServer(); + return di(ServerManager::class)->getServer(); } diff --git a/System/Async.php b/System/Async.php index 17d0b5f7..05466eac 100644 --- a/System/Async.php +++ b/System/Async.php @@ -39,7 +39,7 @@ class Async extends Component */ public function dispatch(string $name, array $params = []) { - $context = ServerManager::getContext(); + $context = di(ServerManager::class); $context->task(static::$_absences[$name], $params); } diff --git a/System/Crontab/Zookeeper.php b/System/Crontab/Zookeeper.php index 301d7e8f..e8a33ff6 100644 --- a/System/Crontab/Zookeeper.php +++ b/System/Crontab/Zookeeper.php @@ -77,7 +77,7 @@ class Zookeeper implements CustomProcess if (empty($handler = $redis->get('crontab:' . $value))) { return; } - $server = ServerManager::getContext()->getServer(); + $server = di(ServerManager::class)->getServer(); $server->sendMessage(swoole_unserialize($handler), $this->getWorker()); } catch (Throwable $exception) { logger()->addError($exception); @@ -92,7 +92,7 @@ class Zookeeper implements CustomProcess private function getWorker(): int { if ($this->workerNum == 0) { - $server = ServerManager::getContext()->getServer(); + $server = di(ServerManager::class)->getServer(); $this->workerNum = $server->setting['worker_num'] + ($server->setting['task_worker_num'] ?? 0); } diff --git a/System/Kiri.php b/System/Kiri.php index caacce7d..451a5eee 100644 --- a/System/Kiri.php +++ b/System/Kiri.php @@ -446,7 +446,7 @@ class Kiri */ public static function async(string $class, array $params = []) { - $manager = ServerManager::getContext(); + $manager = di(ServerManager::class); $manager->task(new $class(...$params)); } diff --git a/http-helper/Context/Request.php b/http-helper/Context/Request.php index 3a864907..3607f416 100644 --- a/http-helper/Context/Request.php +++ b/http-helper/Context/Request.php @@ -92,7 +92,7 @@ class Request extends HttpService implements RequestInterface */ public function getConnectInfo(): array|null { - $server = ServerManager::getContext()->getServer(); + $server = di(ServerManager::class)->getServer(); return $server->getClientInfo($this->getClientId()); } diff --git a/http-helper/Context/Response.php b/http-helper/Context/Response.php index c5b7eac2..88cd66be 100644 --- a/http-helper/Context/Response.php +++ b/http-helper/Context/Response.php @@ -82,13 +82,14 @@ class Response extends HttpService implements ResponseInterface /** * @return mixed + * @throws */ public function getClientInfo(): mixed { if (!empty($this->_clientInfo)) { return $this->_clientInfo; } - $server = ServerManager::getContext()->getServer(); + $server = di(ServerManager::class)->getServer(); return $server->getClientInfo($this->clientId, $this->reactorId); } diff --git a/http-helper/Server.php b/http-helper/Server.php index 6f027e9b..cc4a64e6 100644 --- a/http-helper/Server.php +++ b/http-helper/Server.php @@ -36,7 +36,13 @@ class Server extends HttpService ]; - private ServerManager $manager; + /** + * @Inject ServerManager + * @var null|ServerManager + */ + #[Inject(ServerManager::class)] + private ?ServerManager $manager = null; + private mixed $daemon = 0; @@ -50,7 +56,6 @@ class Server extends HttpService */ public function init() { - $this->manager = ServerManager::getContext(); } diff --git a/http-helper/Shutdown.php b/http-helper/Shutdown.php index 725586cf..5146dc7d 100644 --- a/http-helper/Shutdown.php +++ b/http-helper/Shutdown.php @@ -49,7 +49,7 @@ class Shutdown extends Component return; } - $server = ServerManager::getContext()->getServer(); + $server = di(ServerManager::class)->getServer(); $master_pid = $server->setting['pid_file'] ?? PID_PATH; if (file_exists($master_pid)) { $this->close(file_get_contents($master_pid)); @@ -77,7 +77,7 @@ class Shutdown extends Component */ public function isRunning(): bool { - $server = ServerManager::getContext()->getServer(); + $server = di(ServerManager::class)->getServer(); $master_pid = $server->setting['pid_file'] ?? PID_PATH; if (!file_exists($master_pid)) {