create()` instead */ public function __construct(ContainerInterface $container, array $namespaces, array $resolverDelegates = []) { $this->container = $container; $this->namespaces = $namespaces; $this->resolverDelegates = $resolverDelegates; } /** * @param string $viewHelperClassName */ public function createViewHelperInstanceFromClassName($viewHelperClassName): ViewHelperInterface { if ($this->container instanceof FailsafeContainer) { // Install tool: makeInstance() resolves via the FailsafeContainer when the VH is // registered there, else via `new`. VHs with required constructor arguments used by // install-tool templates must be wired in install/Classes/ServiceProvider.php. /** @var ViewHelperInterface $viewHelperInstance */ $viewHelperInstance = GeneralUtility::makeInstance($viewHelperClassName); return $viewHelperInstance; } if ($this->container->has($viewHelperClassName)) { /** @var ViewHelperInterface $viewHelperInstance */ $viewHelperInstance = $this->container->get($viewHelperClassName); } else { /** @var ViewHelperInterface $viewHelperInstance */ $viewHelperInstance = new $viewHelperClassName(); } return $viewHelperInstance; } }