Services API
Changed in version 12.0
The abstract class \TYPO3\
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
array, where information about all registered services is kept.['T3_ SERVICES'] - 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\
, 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.CMS\ Core\ Utility\ General Utility:: make Instance Service () - deactivateService
- Marks a service as unavailable. It is called internally by
add
andService () find
and should probably not be called directly unless you're sure of what you're doing.Service ()
\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\
to find the best possible service (in terms of priority and quality).CMS\ Core\ Utility\ Extension Management Utility:: find Service () 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.