Deprecation: #99650 - Global Request object usage in Extbase UriBuilder

See forge#99650

Description

Usage of the global request object ($GLOBALS['TYPO3_REQUEST']) as fallback in the EXT:extbase \TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder has been deprecated and will be removed in TYPO3 v13. The UriBuilder will then solely rely on a locally set request object.

Impact

Using the UriBuilder class of Extbase without a local request object will trigger a PHP deprecation warning.

Affected installations

TYPO3 installations with custom extensions initializing the UriBuilder without handing in a request object and using it to build URIs.

Migration

Make sure to call setRequest($request) before using the UriBuilder, when no other component has done this already.

Using ViewHelpers will not trigger the warning, as the TYPO3 Core ensures the proper setup.