sabbelasichon / typo3-rector

Rector for TYPO3
MIT License
229 stars 63 forks source link

Deprecation: #94228 - Extbase request getRequestUri() #3783

Closed simonschaufi closed 9 months ago

simonschaufi commented 1 year ago

Deprecation: #94228 - Extbase request getRequestUri()

https://docs.typo3.org/c/typo3/cms-core/main/en-us/Changelog/11.3/Deprecation-94228-DeprecateExtbaseRequestGetRequestUri.html .. include:: /Includes.rst.txt

.. _deprecation-94228:

===================================================== Deprecation: #94228 - Extbase request getRequestUri()

See :issue:94228

Description

To further prepare Extbase towards PSR-7 compatible requests, the Extbase :php:TYPO3\CMS\Extbase\Mvc\Request has to be streamlined.

Method :php:getRequestUri() has been deprecated and shouldn't be used any longer.

Impact

Using the method will trigger a PHP :php:E_USER_DEPRECATED error.

Affected Installations

Extbase based extensions may use this method. The extension scanner will find usages as weak match.

Migration

When :php:getRequestUri() is called in extensions, the same information can be retrieved from the native PSR-7 request. At the moment, this is usually only available using :php:$GLOBALS['TYPO3_REQUEST'], but this will change when the Extbase request is compatible with PSR-7 ServerRequestInterface. A substitution looks like this for now:

.. code-block:: php

// @todo Adapt this example as soon as Extbase Request implements ServerRequestInterface
$request = $GLOBALS['TYPO3_REQUEST'];
$normalizedParams = $request->getAttribute('normalizedParams');
$requestUrl = $normalizedParams->getRequestUrl();

.. index:: PHP-API, FullyScanned, ext:extbase

sabbelasichon commented 9 months ago

Already resolved by https://github.com/sabbelasichon/typo3-rector/blob/main/src/Rector/v11/v3/typo3/UseNormalizedParamsToGetRequestUrlRector.php