Services API¶
Changed in version 12.0: The abstract class \TYPO3\CMS\Core\Service\AbstractService
has been
removed. See Migration.
This section describes the methods of the TYPO3 Core that are related to the use of services.
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility¶
This extension management class contains three methods related to services:
- addService
This method is used to register services with TYPO3 CMS. It checks for availability of a service with regards to OS dependency (if any) and fills the
$GLOBALS['T3_SERVICES']
array, where information about all registered services is kept.- findService
This method is used to find the appropriate service given a type and a subtype. It handles priority and quality rankings. It also checks for availability based on executables dependencies, if any.
This method is normally called by
\TYPO3\CMS\Core\Utility\GeneralUtility::makeInstanceService()
, so you shouldn't have to worry about calling it directly, but it can be useful to check if there's at least one service available.- deactivateService
Marks a service as unavailable. It is called internally by
addService()
andfindService()
and should probably not be called directly unless you're sure of what you're doing.
\TYPO3\CMS\Core\Utility\GeneralUtility¶
This class contains a single method related to services, but the most useful one, used to get an instance of a service.
- makeInstanceService
This method is used to get an instance of a service class of a given type and subtype. It calls on
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::findService()
to find the best possible service (in terms of priority and quality).As described above it keeps a registry of all instantiated service classes and uses existing instances whenever possible, in effect turning service classes into singletons.