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