Deprecation: #100053 - GeneralUtility::_GP()¶
See forge#100053
Description¶
The method \TYPO3\
has
been marked as deprecated and should not be used any longer.
Modern code should access GET and POST data from the PSR-7 Server
,
and should avoid accessing superglobals $_
and $_
directly. This also avoids future side-effects when using sub-requests. Some
General
related helper methods like _GP
violate this,
using them is considered a technical debt. They are being phased out.
Impact¶
Calling the method from PHP code will log a PHP deprecation level entry, the method will be removed with TYPO3 v13.
Affected installations¶
TYPO3 installations with third-party extensions using General
are affected, typically in TYPO3 installations which
have been migrated to the latest TYPO3 Core versions and
haven't been adapted properly yet.
The extension scanner will find usages with a strong match.
Migration¶
General
is a helper method that retrieves
incoming HTTP GET
query arguments and POST
body parameters and returns the value.
The same result can be achieved by retrieving arguments from the request object.
An instance of the PSR-7 Server
is handed over to
controllers by TYPO3 Core's PSR-15 \TYPO3\
and middleware implementations, and is available in various related scopes
like the frontend \TYPO3\
.
Typical code:
use TYPO3\CMS\Core\Utility\GeneralUtility;
// Before
$value = GeneralUtility::_GP('tx_scheduler');
// After
$value = $request->getParsedBody()['tx_scheduler'] ?? $request->getQueryParams()['tx_scheduler'] ?? null;