diff --git a/kiri-engine/Abstracts/Component.php b/kiri-engine/Abstracts/Component.php index fd0998f3..cdab42e3 100644 --- a/kiri-engine/Abstracts/Component.php +++ b/kiri-engine/Abstracts/Component.php @@ -13,6 +13,7 @@ namespace Kiri\Abstracts; use Exception; use JetBrains\PhpStorm\Pure; use Kiri\Di\Container; +use Kiri\Events\EventProvider; use Kiri\Kiri; use Psr\Container\ContainerInterface; @@ -20,6 +21,7 @@ use Psr\Container\ContainerInterface; * Class Component * @package Kiri\Kiri\Base * @property ContainerInterface|Container $container + * @property EventProvider $eventProvider */ class Component implements Configure { @@ -46,6 +48,16 @@ class Component implements Configure } + /** + * @return EventProvider + * @throws \ReflectionException + */ + public function getEventProvider(): EventProvider + { + return Kiri::getDi()->get(EventProvider::class); + } + + /** * @return Container */ diff --git a/kiri-engine/Abstracts/Logger.php b/kiri-engine/Abstracts/Logger.php index 312a7603..06f5da36 100644 --- a/kiri-engine/Abstracts/Logger.php +++ b/kiri-engine/Abstracts/Logger.php @@ -2,18 +2,20 @@ namespace Kiri\Abstracts; +use Kiri\Kiri; use Note\Inject; use Exception; use Kiri\Events\EventProvider; use Kiri\Exception\ConfigException; use Psr\Log\LoggerInterface; +use ReflectionException; use Server\Events\OnWorkerStop; /** * */ -class Logger implements LoggerInterface +class Logger extends Component implements LoggerInterface { const EMERGENCY = 'emergency'; @@ -26,12 +28,6 @@ class Logger implements LoggerInterface const DEBUG = 'debug'; - /** - * @var EventProvider - */ - #[Inject(EventProvider::class)] - public EventProvider $eventProvider; - private array $_loggers = []; @@ -39,7 +35,7 @@ class Logger implements LoggerInterface /** - * 监听事件 + * @return void */ public function init() { diff --git a/kiri-engine/Cache/Redis.php b/kiri-engine/Cache/Redis.php index 0e23ddc4..bb0cb632 100644 --- a/kiri-engine/Cache/Redis.php +++ b/kiri-engine/Cache/Redis.php @@ -28,12 +28,6 @@ use Server\Events\OnWorkerExit; class Redis extends Component { - /** - * @var EventProvider - */ - #[Inject(EventProvider::class)] - public EventProvider $eventProvider; - const REDIS_OPTION_HOST = 'host'; const REDIS_OPTION_PORT = 'port'; diff --git a/kiri-engine/Error/Logger.php b/kiri-engine/Error/Logger.php index 76d32c93..27bdb3b3 100644 --- a/kiri-engine/Error/Logger.php +++ b/kiri-engine/Error/Logger.php @@ -29,11 +29,6 @@ class Logger extends Component private array $logs = []; - /** @var EventProvider */ - #[Inject(EventProvider::class)] - public EventProvider $eventProvider; - - /** * inject logger *