This section describes the methods of the TYPO3 CMS core that are related to the use of services.
This extension management class contains three methods related to services:
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.
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.
Marks a service as unavailable. It is called internally by
findService()and should probably not be called directly unless you're sure of what you're doing.
This class contains a single method related to services, but the most useful one, used to get an instance of a service.
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.