registerSearchProvider(TagSearchProvider::class); $context->registerCapability(Capabilities::class); $context->registerEventListener(LoadAdditionalScriptsEvent::class, LoadAdditionalScriptsListener::class); $context->registerEventListener(BeforeTemplateRenderedEvent::class, BeforeTemplateRenderedListener::class); $context->registerEventListener(BeforeSabrePubliclyLoadedEvent::class, BeforeSabrePubliclyLoadedListener::class); } public function boot(IBootContext $context): void { $context->injectFn(function (IEventDispatcher $dispatcher) use ($context): void { $managerListener = function (ManagerEvent $event) use ($context): void { /** @var Listener $listener */ $listener = $context->getServerContainer()->query(Listener::class); $listener->event($event); }; $dispatcher->addListener(ManagerEvent::EVENT_CREATE, $managerListener); $dispatcher->addListener(ManagerEvent::EVENT_DELETE, $managerListener); $dispatcher->addListener(ManagerEvent::EVENT_UPDATE, $managerListener); $mapperListener = function (MapperEvent $event) use ($context): void { /** @var Listener $listener */ $listener = $context->getServerContainer()->query(Listener::class); $listener->mapperEvent($event); }; $dispatcher->addListener(MapperEvent::EVENT_ASSIGN, $mapperListener); $dispatcher->addListener(MapperEvent::EVENT_UNASSIGN, $mapperListener); }); } }