Architecture et requête · Question 9 sur 12
Un ViewHelper personnalisé a besoin de la requête courante, par exemple pour lire le site. Comment l'obtient-il dans TYPO3 v14 ?
1 réponse est correcte. Moyen
Afficher la solution
Solution
- C $this->renderingContext->getAttribute(ServerRequestInterface::class)
Explication
La RenderingContextFactory stocke la requête comme attribut du RenderingContext, et le Core l'y lit lui-même, p. ex. dans f:image et f:flashMessages. Un ViewHelper l'obtient donc via $this->renderingContext->getAttribute(ServerRequestInterface::class) et peut ensuite appeler p. ex. $request->getAttribute('site'). $GLOBALS['TYPO3_REQUEST'] est un vestige que le Core supprime progressivement. La requête n'est pas un service du conteneur DI, donc makeInstance ne la renvoie pas.