Deprecation: #109286 - Explicit request handling in PageRenderer
See forge#109286
Description
Some methods of class
\TYPO3\ require an instance of
Server being hand over since TYPO3 v14.2:
setLanguage()
- Old:
PageRenderer->set Language (Locale $locale, ?Server Request Interface $request = null) - TYPO3 v14.2:
PageRenderer->set Language (Locale $locale, ?Server Request Interface $request = null) - TYPO3 v15:
PageRenderer->set Language (Locale $locale, Server Request Interface $request)
setDocType()
- Old:
PageRenderer->set Doc Type (Doc Type $doc Type) - TYPO3 v14.2:
PageRenderer->set Doc Type (Doc Type $doc Type, ?Server Request Interface $request = null) - TYPO3 v15:
PageRenderer->set Doc Type (Doc Type $doc Type, Server Request Interface $request)
render()
- Old:
PageRenderer->render () - TYPO3 v14.2:
PageRenderer->render (?Server Request Interface $request = null) - TYPO3 v15:
PageRenderer->render (Server Request Interface $request)
renderResponse()
- Old:
PageRenderer->render Response (int $code = 200, string $reason Phrase = '') - TYPO3 v14.2:
PageRenderer->render (Server Request Interface |int $request Or Code = 200, int |string $code Or Reason Phrase = '', string $reason Phrase = '') - TYPO3 v15:
PageRenderer->render (Server Request Interface $request, int $code = 200, string $reason Phrase = '')
Impact
Request dependencies within
Page are no longer implicit by accessing
$GLOBALS
but need to be hand over explicitly. Not handing over Request to above methods will trigger a deprecation level log
message with TYPO3 v14 and will trigger a fatal PHP error with TYPO3 v15.
Affected installations
The PageRenderer is a low level core class. Many extensions use higher level API and are not affected by the change directly.
Migration
Adapt the method calls to hand over the Request object.