Deprecation: #91001 - Various methods within GeneralUtility¶
See forge#91001
Description¶
The following methods within GeneralUtility have been marked as deprecated, as the native PHP methods can be used directly:
GeneralUtility::IPv6Hex2Bin()
GeneralUtility::IPv6Bin2Hex()
GeneralUtility::compressIPv6()
GeneralUtility::milliseconds()
In addition, these methods are unused by Core and marked as deprecated as well:
GeneralUtility::linkThisUrl()
GeneralUtility::flushDirectory()
Impact¶
Calling any methods directly from PHP will trigger a PHP E_USER_DEPRECATED
error.
Affected Installations¶
TYPO3 installations with third-party extensions using any of these methods.
Migration¶
As the following methods are just wrappers around native PHP methods, it is recommended to switch to native PHP to speed up performance:
GeneralUtility::IPv6Hex2Bin($hex)
:inet_pton($hex)
GeneralUtility::IPv6Bin2Hex($bin)
:inet_ntop($bin)
GeneralUtility::compressIPv6($address)
:inet_ntop(inet_pton($address))
GeneralUtility::milliseconds()
:round(microtime(true) * 1000)
As for GeneralUtility::linkThisUrl()
it is recommended to migrate to
PSR-7 (UriInterface).
The method GeneralUtility::flushDirectory()
uses a clearing
folder structure which is only used for caching to avoid race-conditioning. It
is recommended to use GeneralUtility::rmdir()
or implement the code
directly in the third-party extension.