2 namespace TYPO3\CMS\Fluid\Core\Compiler;
45 public function getViewHelper($uniqueCounter, \TYPO3\CMS\
Fluid\Core\Rendering\RenderingContextInterface $renderingContext, $viewHelperName)
47 if (self::$objectContainer === null) {
48 self::$objectContainer = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\TYPO3\CMS\Extbase\Object\Container\Container::class);
50 if (isset($this->viewHelpersByPositionAndContext[$uniqueCounter])) {
51 if ($this->viewHelpersByPositionAndContext[$uniqueCounter]->contains($renderingContext)) {
52 $viewHelper = $this->viewHelpersByPositionAndContext[$uniqueCounter][$renderingContext];
53 $viewHelper->resetState();
56 $viewHelperInstance = self::$objectContainer->getInstance($viewHelperName);
57 if ($viewHelperInstance instanceof \TYPO3\CMS\Core\SingletonInterface) {
58 $viewHelperInstance->resetState();
60 $this->viewHelpersByPositionAndContext[$uniqueCounter]->attach($renderingContext, $viewHelperInstance);
61 return $viewHelperInstance;
64 $this->viewHelpersByPositionAndContext[$uniqueCounter] = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\TYPO3\CMS\Extbase\Persistence\ObjectStorage::class);
65 $viewHelperInstance = self::$objectContainer->getInstance($viewHelperName);
66 if ($viewHelperInstance instanceof \TYPO3\CMS\Core\SingletonInterface) {
67 $viewHelperInstance->resetState();
69 $this->viewHelpersByPositionAndContext[$uniqueCounter]->attach($renderingContext, $viewHelperInstance);
70 return $viewHelperInstance;
96 if (static::$defaultEncoding === null) {
97 static::$defaultEncoding =
'UTF-8';
99 return static::$defaultEncoding;