आर्किटेक्चर और request · प्रश्न 9 / 12
एक कस्टम ViewHelper को वर्तमान request की ज़रूरत है, उदाहरण के लिए site पढ़ने के लिए। TYPO3 v14 में वह इसे कैसे प्राप्त करता है?
1 उत्तर सही है। मध्यम
उत्तर दिखाएँ
उत्तर
- C $this->renderingContext->getAttribute(ServerRequestInterface::class)
व्याख्या
RenderingContextFactory request को RenderingContext के attribute के रूप में संग्रहीत करता है, और Core स्वयं इसे वहीं से पढ़ता है, जैसे f:image और f:flashMessages में। इसलिए ViewHelper इसे $this->renderingContext->getAttribute(ServerRequestInterface::class) के ज़रिए प्राप्त करता है और फिर जैसे $request->getAttribute('site') कॉल कर सकता है। $GLOBALS['TYPO3_REQUEST'] एक पुराना अवशेष है जिसे Core धीरे-धीरे हटा रहा है। request DI container की service नहीं है, इसलिए makeInstance इसे नहीं लौटाता।