‪TYPO3CMS  11.5
GenericViewResolver.php
Go to the documentation of this file.
1 <?php
2 
3 declare(strict_types=1);
4 
5 /*
6  * This file is part of the TYPO3 CMS project.
7  *
8  * It is free software; you can redistribute it and/or modify it under
9  * the terms of the GNU General Public License, either version 2
10  * of the License, or any later version.
11  *
12  * For the full copyright and license information, please read the
13  * LICENSE.txt file that was distributed with this source code.
14  *
15  * The TYPO3 project - inspiring people to share!
16  */
17 
19 
20 use Psr\Container\ContainerInterface;
23 
28 {
29  private ContainerInterface ‪$container;
30 
34  private ‪$defaultViewClass;
35 
36  public function ‪__construct(ContainerInterface ‪$container)
37  {
38  $this->container = ‪$container;
39  }
40 
45  public function ‪setDefaultViewClass(string ‪$defaultViewClass): void
46  {
47  $this->defaultViewClass = ‪$defaultViewClass;
48  }
49 
53  public function ‪resolve(string $controllerObjectName, string $actionName, string $format): ViewInterface
54  {
55  if ($this->container->has($this->defaultViewClass)) {
57  $view = $this->container->get($this->defaultViewClass);
58  return $view;
59  }
60  // @deprecated since v11, will be removed with 12. Fallback if extensions provide no proper Services.yaml. Drop together with if condition above in v12.
62  $view = GeneralUtility::makeInstance(ObjectManager::class)->get($this->defaultViewClass);
63  return $view;
64  }
65 }
‪TYPO3\CMS\Extbase\Mvc\View\GenericViewResolver\resolve
‪resolve(string $controllerObjectName, string $actionName, string $format)
Definition: GenericViewResolver.php:52
‪TYPO3\CMS\Extbase\Mvc\View\ViewResolverInterface
Definition: ViewResolverInterface.php:27
‪TYPO3\CMS\Extbase\Mvc\View\GenericViewResolver\$defaultViewClass
‪string $defaultViewClass
Definition: GenericViewResolver.php:33
‪TYPO3\CMS\Extbase\Mvc\View\GenericViewResolver\$container
‪ContainerInterface $container
Definition: GenericViewResolver.php:29
‪TYPO3\CMS\Extbase\Mvc\View\GenericViewResolver
Definition: GenericViewResolver.php:28
‪TYPO3\CMS\Extbase\Mvc\View\ViewInterface
Definition: ViewInterface.php:26
‪TYPO3\CMS\Extbase\Mvc\View\GenericViewResolver\setDefaultViewClass
‪setDefaultViewClass(string $defaultViewClass)
Definition: GenericViewResolver.php:44
‪TYPO3\CMS\Extbase\Mvc\View
Definition: AbstractView.php:16
‪TYPO3\CMS\Core\Utility\GeneralUtility
Definition: GeneralUtility.php:50
‪TYPO3\CMS\Extbase\Object\ObjectManager
Definition: ObjectManager.php:31
‪TYPO3\CMS\Extbase\Mvc\View\GenericViewResolver\__construct
‪__construct(ContainerInterface $container)
Definition: GenericViewResolver.php:35