logger = $logger; $this->manager = $manager; $this->hookContainer = $hookContainer; $this->hookRunner = new HookRunner( $hookContainer ); $this->config = $config; $this->userNameUtils = $userNameUtils; $this->postInitSetup(); } /** * A provider can override this to do any necessary setup after init() * is called. * * @since 1.37 * @stable to override */ protected function postInitSetup() { } /** * @inheritDoc * @note Override this if it makes sense to support more than one instance */ public function getUniqueId() { return static::class; } /** * @since 1.35 * @return HookContainer */ protected function getHookContainer(): HookContainer { return $this->hookContainer; } /** * @internal This is for use by core only. Hook interfaces may be removed * without notice. * @since 1.35 * @return HookRunner */ protected function getHookRunner(): HookRunner { return $this->hookRunner; } }