diff --git a/kiri-engine/Abstracts/Component.php b/kiri-engine/Abstracts/Component.php index 59a29254..c423c9e3 100644 --- a/kiri-engine/Abstracts/Component.php +++ b/kiri-engine/Abstracts/Component.php @@ -16,7 +16,9 @@ use Kiri\Di\Container; use Kiri\Events\EventProvider; use Kiri\Kiri; use Note\Inject; +use Psr\Container\ContainerExceptionInterface; use Psr\Container\ContainerInterface; +use Psr\Container\NotFoundExceptionInterface; /** * Class Component @@ -58,6 +60,26 @@ class Component implements Configure } + /** + * @return Container|ContainerInterface + */ + #[Pure] public function getContainer(): ContainerInterface|Container + { + return Kiri::getDi(); + } + + + /** + * @return EventProvider + * @throws ContainerExceptionInterface + * @throws NotFoundExceptionInterface + */ + public function getEventProvider(): EventProvider + { + return $this->getContainer()->get(EventProvider::class); + } + + /** * @throws Exception */ diff --git a/kiri-engine/Di/Container.php b/kiri-engine/Di/Container.php index 66d715ae..8138c256 100644 --- a/kiri-engine/Di/Container.php +++ b/kiri-engine/Di/Container.php @@ -27,7 +27,7 @@ use Psr\Container\ContainerInterface; * Class Container * @package Kiri\Di */ -class Container extends Component implements ContainerInterface +class Container implements ContainerInterface { /**