registerEventListener(CollectToolProvidersEvent::class, MyToolProviderListener::class); * * and call {@see CollectToolProvidersEvent::registerProvider()} in the listener. */ class CollectToolProvidersEvent extends Event { /** @var array */ private array $providers = []; public function registerProvider(IToolProvider $provider): void { $this->providers[] = $provider; } /** * @return array */ public function getProviders(): array { return $this->providers; } }