Deprecation: #109286 - Explicit request handling in PageRenderer
See forge#109286
Description
Since TYPO3 v14.2 some methods of class
\TYPO3\
require an instance of
\Server to
be passed explicitly :
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 via
$GLOBALS and must now be passed explicitly. Not
passing a request to the methods listed above will trigger a deprecation-level
log entry in TYPO3 v14 and will result in a fatal PHP error in TYPO3 v15.
Affected installations
Page is a low-level Core class. Many
extensions use higher-level APIs and are therefore not directly affected by
this change.
Migration
Adapt method calls to pass the
\Server object explicitly.