diff --git a/kiri-engine/Abstracts/BaseApplication.php b/kiri-engine/Abstracts/BaseApplication.php index f55e28d8..cc046355 100644 --- a/kiri-engine/Abstracts/BaseApplication.php +++ b/kiri-engine/Abstracts/BaseApplication.php @@ -223,22 +223,21 @@ abstract class BaseApplication extends Component */ private function addEvent($key, $value): void { - $eventProvider = di(EventProvider::class); if ($value instanceof \Closure || is_object($value)) { - $eventProvider->on($key, $value, 0); + $this->eventProvider->on($key, $value, 0); return; } if (is_array($value)) { if (is_object($value[0]) && !($value[0] instanceof \Closure)) { - $eventProvider->on($key, $value, 0); + $this->eventProvider->on($key, $value, 0); return; } if (is_string($value[0])) { $value[0] = Kiri::createObject($value[0]); - $eventProvider->on($key, $value, 0); + $this->eventProvider->on($key, $value, 0); return; } @@ -247,7 +246,7 @@ abstract class BaseApplication extends Component if (!is_callable($item, true)) { throw new InitException("Class does not hav callback."); } - $eventProvider->on($key, $item, 0); + $this->eventProvider->on($key, $item, 0); } } diff --git a/kiri-engine/Abstracts/Component.php b/kiri-engine/Abstracts/Component.php index cdab42e3..59a29254 100644 --- a/kiri-engine/Abstracts/Component.php +++ b/kiri-engine/Abstracts/Component.php @@ -15,6 +15,7 @@ use JetBrains\PhpStorm\Pure; use Kiri\Di\Container; use Kiri\Events\EventProvider; use Kiri\Kiri; +use Note\Inject; use Psr\Container\ContainerInterface; /** @@ -26,6 +27,23 @@ use Psr\Container\ContainerInterface; class Component implements Configure { + + /** + * @var Container + */ + #[Inject(ContainerInterface::class)] + public ContainerInterface $container; + + + + /** + * @var EventProvider + */ + #[Inject(EventProvider::class)] + public EventProvider $eventProvider; + + + /** * BaseAbstract constructor. * @@ -48,24 +66,6 @@ class Component implements Configure } - /** - * @return EventProvider - * @throws \ReflectionException - */ - public function getEventProvider(): EventProvider - { - return Kiri::getDi()->get(EventProvider::class); - } - - - /** - * @return Container - */ - #[Pure] public function getContainer(): ContainerInterface - { - return Kiri::getDi(); - } - /** * @return string diff --git a/kiri-engine/Error/Logger.php b/kiri-engine/Error/Logger.php index 27bdb3b3..1c683a78 100644 --- a/kiri-engine/Error/Logger.php +++ b/kiri-engine/Error/Logger.php @@ -13,7 +13,6 @@ use Note\Inject; use Exception; use Kiri\Abstracts\Component; use Kiri\Core\Json; -use Kiri\Events\EventProvider; use Kiri\Kiri; use Psr\Log\LoggerInterface; use Throwable;