Deprecation: #109548 - GeneralUtility::locationHeaderUrl() without PSR-7 request
See forge#109548
Description
Calling
\TYPO3\ without
providing a PSR-7
\Psr\ as the second argument is deprecated.
The method previously resolved the current host and request directory via
\TYPO3\, which
hides an implicit dependency on server globals. The method signature has been
extended to accept an explicit PSR-7 request object, which should be passed instead.
Impact
A PHP
E_ error is triggered when
\TYPO3\ is called
without a
\Server argument.
Affected installations
All installations that call
\TYPO3\ without
passing
\Server as the second argument.
The extension scanner will detect affected usages as a strong match.
Migration
Pass the current PSR-7 request as the second argument to
\TYPO3\.
use TYPO3\CMS\Core\Utility\GeneralUtility;
+ use Psr\Http\Message\ServerRequestInterface;
- $url = GeneralUtility::locationHeaderUrl($path);
+ $url = GeneralUtility::locationHeaderUrl($path, $request);
The PSR-7 request is available in various places, for example as an argument
in controller actions, via
$GLOBALS in legacy contexts,
and via
\Server method parameters.