Deprecation: #94414 - LanguageService container entry¶
See forge#94414
Description¶
Instances of TYPO3\CMS\Core\Localization\LanguageService
require
custom initialization with a language key and additionally depend on Core services.
TYPO3\CMS\Core\Localization\LanguageServiceFactory
has therefore
previously been introduced in order to manage this initialization.
This replaced prior used instantiation via
TYPO3\CMS\Core\Localization\LanguageService::create()
or
GeneralUtility::makeInstance(LanguageService::class)
.
Impact¶
Injecting TYPO3\CMS\Core\Localization\LanguageService
or creating
instances via GeneralUtility::makeInstance(LanguageService::class)
,
LanguageService::create()
, LanguageService::createFromUserPreferences()
or LanguageService::createFromSiteLanguage()
will trigger a
PHP E_USER_DEPRECATED
error.
Affected Installations¶
Extensions injecting TYPO3\CMS\Core\Localization\LanguageService
or creating custom instances via GeneralUtility::makeInstance(LanguageService::class)
or TYPO3\CMS\Core\Localization\LanguageService::create()
.
This is relatively unlikely since most usages are bootstrap related and
extensions usually access the prepared LanguageService via GLOBALS['LANG']
in normal cases.
Usages of LanguageService::create()
, LanguageService::createFromUserPreferences()
and LanguageService::createFromSiteLanguage()
are be found by the extension scanner
as strong match.
Migration¶
The factory TYPO3\CMS\Core\Localization\LanguageServiceFactory
should be injected and used instead.