diff --git a/kiri-engine/Abstracts/BaseApplication.php b/kiri-engine/Abstracts/BaseApplication.php index 07a99c52..94d9bb37 100644 --- a/kiri-engine/Abstracts/BaseApplication.php +++ b/kiri-engine/Abstracts/BaseApplication.php @@ -219,20 +219,20 @@ abstract class BaseApplication extends Component private function addEvent($key, $value): void { if ($value instanceof \Closure || is_object($value)) { - $this->eventProvider->on($key, $value, 0); + $this->getEventProvider()->on($key, $value, 0); return; } if (is_array($value)) { if (is_object($value[0]) && !($value[0] instanceof \Closure)) { - $this->eventProvider->on($key, $value, 0); + $this->getEventProvider()->on($key, $value, 0); return; } if (is_string($value[0])) { $value[0] = Kiri::createObject($value[0]); - $this->eventProvider->on($key, $value, 0); + $this->getEventProvider()->on($key, $value, 0); return; } @@ -241,7 +241,7 @@ abstract class BaseApplication extends Component if (!is_callable($item, true)) { throw new InitException("Class does not hav callback."); } - $this->eventProvider->on($key, $item, 0); + $this->getEventProvider()->on($key, $item, 0); } } diff --git a/kiri-engine/Application.php b/kiri-engine/Application.php index 6cb6e19d..a6a8ff91 100644 --- a/kiri-engine/Application.php +++ b/kiri-engine/Application.php @@ -239,7 +239,7 @@ class Application extends BaseApplication scan_directory(MODEL_PATH, 'app\Model'); } - $this->container->setBindings(OutputInterface::class, $output); + $this->getContainer()->setBindings(OutputInterface::class, $output); $class->run($input, $output); fire(new OnAfterCommandExecute()); diff --git a/kiri-engine/Cache/Base/Redis.php b/kiri-engine/Cache/Base/Redis.php index ff78a7c6..300dbb6e 100644 --- a/kiri-engine/Cache/Base/Redis.php +++ b/kiri-engine/Cache/Base/Redis.php @@ -45,8 +45,6 @@ class Redis implements StopHeartbeatCheck private int $_last = 0; - private EventProvider $eventProvider; - /** * @param array $config @@ -67,9 +65,6 @@ class Redis implements StopHeartbeatCheck public function init() { $this->heartbeat_check(); - - $this->eventProvider = Kiri::getDi()->get(EventProvider::class); - $this->eventProvider->on(OnWorkerExit::class, [$this, 'onWorkerExit']); } @@ -110,8 +105,6 @@ class Redis implements StopHeartbeatCheck if (time() - $this->_last > intval($this->pool['tick'] ?? 60)) { $this->stopHeartbeatCheck(); - $this->eventProvider->off(OnWorkerExit::class, [$this, 'stopHeartbeatCheck']); - $this->pdo = null; } } catch (\Throwable $throwable) { diff --git a/kiri-engine/Cache/Redis.php b/kiri-engine/Cache/Redis.php index 485e16c7..3d5254bd 100644 --- a/kiri-engine/Cache/Redis.php +++ b/kiri-engine/Cache/Redis.php @@ -19,6 +19,8 @@ use Kiri; use Kiri\Pool\Redis as PoolRedis; use Kiri\Annotation\Inject; use Kiri\Server\Events\OnWorkerExit; +use Psr\Container\ContainerExceptionInterface; +use Psr\Container\NotFoundExceptionInterface; use Swoole\Timer; /** @@ -43,7 +45,10 @@ class Redis extends Component /** + * @return void * @throws ConfigException + * @throws ContainerExceptionInterface + * @throws NotFoundExceptionInterface * @throws Exception */ public function init() @@ -54,7 +59,7 @@ class Redis extends Component $length = Config::get('cache.redis.pool.max', 10); - $this->eventProvider->on(OnWorkerExit::class, [$this, 'destroy'], 0); + $this->getEventProvider()->on(OnWorkerExit::class, [$this, 'destroy'], 0); $connections->initConnections('Redis:' . $config['host'], true, $length); } diff --git a/kiri-task/TaskManager.php b/kiri-task/TaskManager.php index 206be331..2b6be615 100644 --- a/kiri-task/TaskManager.php +++ b/kiri-task/TaskManager.php @@ -37,7 +37,7 @@ class TaskManager extends Component } $task_use_object = $swollen->setting['task_object'] ?? $swollen->setting['task_use_object'] ?? false; - $reflect = $this->container->get(OnServerTask::class); + $reflect = $this->getContainer()->get(OnServerTask::class); $swollen->on('finish', [$reflect, 'onFinish']); if ($task_use_object || $swollen->setting['task_enable_coroutine']) { diff --git a/kiri-task/TaskResolve.php b/kiri-task/TaskResolve.php index a624dc00..8b1401c7 100644 --- a/kiri-task/TaskResolve.php +++ b/kiri-task/TaskResolve.php @@ -21,7 +21,7 @@ trait TaskResolve if (!class_exists($handler) && $this->hashMap->has($handler)) { $handler = $this->hashMap->get($handler); } - $implements = $this->container->getReflect($handler); + $implements = $this->getContainer()->getReflect($handler); if (!in_array(OnTaskInterface::class, $implements->getInterfaceNames())) { throw new Exception('Task must instance ' . OnTaskInterface::class); } diff --git a/kiri-websocket-server/Server.php b/kiri-websocket-server/Server.php index ec64110b..28a0b3cf 100644 --- a/kiri-websocket-server/Server.php +++ b/kiri-websocket-server/Server.php @@ -41,14 +41,14 @@ class Server extends AbstractServer */ public function init() { - $this->router = $this->container->get(DataGrip::class)->get('ws'); + $this->router = $this->getContainer()->get(DataGrip::class)->get('ws'); $handler = $this->router->find('/', 'GET'); if (is_int($handler) || is_null($handler)) { return; } $this->callback = $handler->callback[0]; - $this->sender = $this->container->get(Sender::class); + $this->sender = $this->getContainer()->get(Sender::class); $this->sender->setServer($this->server); }