self::getRenderingContextFactory(...), Core\ViewHelper\ViewHelperResolverFactory::class => self::getViewHelperResolverFactory(...), Core\ViewHelper\ViewHelperResolverFactoryInterface::class => self::getViewHelperResolverFactoryInterface(...), ]; } public function getExtensions(): array { return [ ViewFactoryInterface::class => self::provideFallbackViewFactory(...), ViewHelpers\ResourceViewHelper::class => self::provideFallbackResourceViewHelper(...), ViewHelpers\Uri\ResourceViewHelper::class => self::provideFallbackResourceUriViewHelper(...), ArgumentProcessorInterface::class => self::provideFallbackArgumentProcessor(...), ] + parent::getExtensions(); } public static function getRenderingContextFactory(ContainerInterface $container): Core\Rendering\RenderingContextFactory { return self::new($container, Core\Rendering\RenderingContextFactory::class, [ $container, $container->get(CacheManager::class), $container->get(Core\ViewHelper\ViewHelperResolverFactoryInterface::class), $container->get(ArgumentProcessorInterface::class), ]); } public static function getViewHelperResolverFactory(ContainerInterface $container): Core\ViewHelper\ViewHelperResolverFactory { return self::new($container, Core\ViewHelper\ViewHelperResolverFactory::class, [ $container, $container->get(EventDispatcherInterface::class), // Don't provide resolver delegates (including component collections) to InstallTool // because it currently doesn't use components and can avoid that additional complexity $container->has(ViewHelperResolverDelegateRegistry::class) ? $container->get(ViewHelperResolverDelegateRegistry::class) : null, $container->get('fluid.namespaces'), ]); } public static function getViewHelperResolverFactoryInterface(ContainerInterface $container): Core\ViewHelper\ViewHelperResolverFactoryInterface { return $container->get(Core\ViewHelper\ViewHelperResolverFactory::class); } public static function provideFallbackViewFactory( ContainerInterface $container, ?ViewFactoryInterface $viewFactory = null ): ViewFactoryInterface { // Provide the default FluidViewFactory for the install tool when $viewFactory is null (that means when we run without symfony DI) return $viewFactory ?? new View\FluidViewFactory( $container->get(Core\Rendering\RenderingContextFactory::class), ); } public static function provideFallbackResourceUriViewHelper( ContainerInterface $container, ?ViewHelpers\Uri\ResourceViewHelper $resourceViewHelper = null ): ViewHelpers\Uri\ResourceViewHelper { // Provide the ResourceViewHelper for the install tool when $resourceViewHelper is null (that means when we run without symfony DI) return $resourceViewHelper ?? new ViewHelpers\Uri\ResourceViewHelper( $container->get(SystemResourceFactory::class), $container->get(SystemResourcePublisherInterface::class), $container->get(SystemResourceIdentifierFactory::class), ); } public static function provideFallbackResourceViewHelper( ContainerInterface $container, ?ViewHelpers\ResourceViewHelper $resourceViewHelper = null ): ViewHelpers\ResourceViewHelper { // Provide the ResourceViewHelper for the install tool when $resourceViewHelper is null (that means when we run without symfony DI) return $resourceViewHelper ?? new ViewHelpers\ResourceViewHelper( $container->get(SystemResourceFactory::class), ); } public static function provideFallbackArgumentProcessor( ContainerInterface $container, ?ArgumentProcessorInterface $argumentProcessor = null ): ArgumentProcessorInterface { // Provide the default argument processor for the install tool when $argumentProcessor is null (that means when we run without symfony DI) return $argumentProcessor ?? new StrictArgumentProcessor(); } }