‪TYPO3CMS  ‪main
TYPO3\CMS\Core\Package\AbstractServiceProvider Class Reference
Inheritance diagram for TYPO3\CMS\Core\Package\AbstractServiceProvider:
TYPO3\CMS\Core\DependencyInjection\ServiceProviderInterface TYPO3\CMS\Backend\ServiceProvider TYPO3\CMS\Core\Package\PseudoServiceProvider TYPO3\CMS\Core\ServiceProvider TYPO3\CMS\Core\Tests\Unit\Package\Mocks\Package1ServiceProviderMock TYPO3\CMS\Core\Tests\Unit\Package\Mocks\Package2ServiceProviderMock TYPO3\CMS\Dashboard\ServiceProvider TYPO3\CMS\Extbase\ServiceProvider TYPO3\CMS\Fluid\ServiceProvider TYPO3\CMS\Frontend\ServiceProvider TYPO3\CMS\Install\ServiceProvider

Public Member Functions

 getFactories ()
 
 getExtensions ()
 

Static Public Member Functions

static configureMiddlewares (ContainerInterface $container, \ArrayObject $middlewares, string $path=null)
 
static configureBackendRoutes (ContainerInterface $container, \ArrayObject $routes, string $path=null, string $packageName=null)
 
static configureBackendModules (ContainerInterface $container, \ArrayObject $modules, string $path=null, string $packageName=null)
 
static Map< Scope, configureContentSecurityPolicies(ContainerInterface $container, Map $mutations, string $path=null, string $packageName=null):Map { $path=$path ?? static::getPackagePath();$packageName=$packageName ?? static::getPackageName();$fileName=$path . 'Configuration/ContentSecurityPolicies.php';if(file_exists( $fileName)) { $mutationsInPackage=require $fileName;foreach( $mutationsInPackage as $scope=> $mutation) { if(!isset( $mutations[ $scope])) { $mutations[ $scope]=new Map();} $origin=new MutationOrigin(MutationOriginType::package, $packageName);$mutations[ $scope][ $origin]=$mutation;} } return $mutations;} public static function configureIcons(ContainerInterface $container, \ArrayObject $icons, string $path=null):\ArrayObject { $path=$path ?? static::getPackagePath();$iconsFileNameForPackage=$path . 'Configuration/Icons.php';if(file_exists( $iconsFileNameForPackage)) { $definedIconsInPackage=require $iconsFileNameForPackage;if(is_array( $definedIconsInPackage)) { $icons-> exchangeArray (array_merge($icons->getArrayCopy(), $definedIconsInPackage))
 
static configureSetCollector (ContainerInterface $container, SetCollector $setCollector, string $path=null)
 

Public Attributes

return $icons
 

Static Protected Member Functions

static getPackagePath ()
 
static getPackageName ()
 
static mixed new (ContainerInterface $container, string $className, array $constructorArguments=[])
 

Detailed Description

Definition at line 37 of file AbstractServiceProvider.php.

Member Function Documentation

◆ configureBackendModules()

static TYPO3\CMS\Core\Package\AbstractServiceProvider::configureBackendModules ( ContainerInterface  $container,
\ArrayObject  $modules,
string  $path = null,
string  $packageName = null 
)
static
Parameters
string | null$path‪supplied when invoked internally through PseudoServiceProvider
string | null$packageName‪supplied when invoked internally through PseudoServiceProvider

Definition at line 125 of file AbstractServiceProvider.php.

◆ configureBackendRoutes()

static TYPO3\CMS\Core\Package\AbstractServiceProvider::configureBackendRoutes ( ContainerInterface  $container,
\ArrayObject  $routes,
string  $path = null,
string  $packageName = null 
)
static
Parameters
string | null$path‪supplied when invoked internally through PseudoServiceProvider
string | null$packageName‪supplied when invoked internally through PseudoServiceProvider

Definition at line 87 of file AbstractServiceProvider.php.

◆ configureMiddlewares()

◆ configureSetCollector()

static TYPO3\CMS\Core\Package\AbstractServiceProvider::configureSetCollector ( ContainerInterface  $container,
SetCollector  $setCollector,
string  $path = null 
)
static

◆ exchangeArray()

static Map<Scope, configureContentSecurityPolicies(ContainerInterface $container, Map $mutations, string $path = null, string $packageName = null): Map { $path = $path ?? static::getPackagePath(); $packageName = $packageName ?? static::getPackageName(); $fileName = $path . 'Configuration/ContentSecurityPolicies.php'; if (file_exists($fileName)) { $mutationsInPackage = require $fileName; foreach ($mutationsInPackage as $scope => $mutation) { if (!isset($mutations[$scope])) { $mutations[$scope] = new Map(); } $origin = new MutationOrigin(MutationOriginType::package, $packageName); $mutations[$scope][$origin] = $mutation; } } return $mutations; } public static function configureIcons(ContainerInterface $container, \ArrayObject $icons, string $path = null): \ArrayObject { $path = $path ?? static::getPackagePath(); $iconsFileNameForPackage = $path . 'Configuration/Icons.php'; if (file_exists($iconsFileNameForPackage)) { $definedIconsInPackage = require $iconsFileNameForPackage; if (is_array($definedIconsInPackage)) { $icons-> TYPO3\CMS\Core\Package\AbstractServiceProvider::exchangeArray ( array_merge( $icons->getArrayCopy(), $definedIconsInPackage)  )
static
Parameters
Map<Scope,Map<MutationOrigin,MutationCollection>>‪$mutations
Returns
‪Map<Scope, Map<MutationOrigin, MutationCollection>>

◆ getExtensions()

TYPO3\CMS\Core\Package\AbstractServiceProvider::getExtensions ( )

Returns a list of all container entries extended by this service provider.

  • ‪the key is the entry name
  • ‪the value is a callable that will return the modified entry

Callables have the following signature: function(Psr\Container\ContainerInterface $container, $previous) or function(Psr\Container\ContainerInterface $container, $previous = null)

About factories parameters:

  • ‪the container (instance of Psr\Container\ContainerInterface)
  • ‪the entry to be extended. If the entry to be extended does not exist and the parameter is nullable, null will be passed.
Returns
‪callable[]

Implements TYPO3\CMS\Core\DependencyInjection\ServiceProviderInterface.

Reimplemented in TYPO3\CMS\Core\ServiceProvider, TYPO3\CMS\Install\ServiceProvider, TYPO3\CMS\Backend\ServiceProvider, TYPO3\CMS\Dashboard\ServiceProvider, TYPO3\CMS\Frontend\ServiceProvider, and TYPO3\CMS\Core\Package\PseudoServiceProvider.

Definition at line 55 of file AbstractServiceProvider.php.

◆ getFactories()

TYPO3\CMS\Core\Package\AbstractServiceProvider::getFactories ( )
abstract

Returns a list of all container entries registered by this service provider.

  • ‪the key is the entry name
  • ‪the value is a callable that will return the entry, aka the factory

Factories have the following signature: function(\Psr\Container\ContainerInterface $container)

Returns
‪callable[]

Implements TYPO3\CMS\Core\DependencyInjection\ServiceProviderInterface.

Reimplemented in TYPO3\CMS\Install\ServiceProvider, TYPO3\CMS\Backend\ServiceProvider, TYPO3\CMS\Core\ServiceProvider, TYPO3\CMS\Core\Package\PseudoServiceProvider, TYPO3\CMS\Frontend\ServiceProvider, TYPO3\CMS\Dashboard\ServiceProvider, TYPO3\CMS\Extbase\ServiceProvider, TYPO3\CMS\Fluid\ServiceProvider, TYPO3\CMS\Core\Tests\Unit\Package\Mocks\Package1ServiceProviderMock, and TYPO3\CMS\Core\Tests\Unit\Package\Mocks\Package2ServiceProviderMock.

◆ getPackageName()

static TYPO3\CMS\Core\Package\AbstractServiceProvider::getPackageName ( )
staticabstractprotected

◆ getPackagePath()

static TYPO3\CMS\Core\Package\AbstractServiceProvider::getPackagePath ( )
staticabstractprotected

◆ new()

static mixed TYPO3\CMS\Core\Package\AbstractServiceProvider::new ( ContainerInterface  $container,
string  $className,
array  $constructorArguments = [] 
)
staticprotected

Create an instance of a class. Supports auto injection of the logger.

Parameters
string$className‪name of the class to instantiate, must not be empty and not start with a backslash
array$constructorArguments‪Arguments for the constructor
Returns
‪mixed

Definition at line 220 of file AbstractServiceProvider.php.

Referenced by TYPO3\CMS\Backend\ServiceProvider\configureBackendRouter(), TYPO3\CMS\Dashboard\ServiceProvider\configureDashboardPresetRegistry(), TYPO3\CMS\Dashboard\ServiceProvider\configureWidgetGroupRegistry(), TYPO3\CMS\Core\ServiceProvider\getAstTraverser(), TYPO3\CMS\Core\ServiceProvider\getBackendEntryPointResolver(), TYPO3\CMS\Core\ServiceProvider\getCacheManager(), TYPO3\CMS\Core\ServiceProvider\getCharsetConverter(), TYPO3\CMS\Core\Tests\Unit\Package\AbstractServiceProviderTest\getClosureForNew(), TYPO3\CMS\Core\ServiceProvider\getCommentAwareAstBuilder(), TYPO3\CMS\Extbase\ServiceProvider\getConfigurationManager(), TYPO3\CMS\Core\ServiceProvider\getConnectionPool(), TYPO3\CMS\Install\ServiceProvider\getDatabaseUpdatedPrerequisite(), TYPO3\CMS\Install\ServiceProvider\getDatabaseUpgradeWizardsService(), TYPO3\CMS\Core\ServiceProvider\getDriverMiddlewaresService(), TYPO3\CMS\Core\ServiceProvider\getDriverRegistry(), TYPO3\CMS\Extbase\ServiceProvider\getExtensionService(), TYPO3\CMS\Core\ServiceProvider\getFileIndexRepository(), TYPO3\CMS\Core\ServiceProvider\getFlashMessageService(), TYPO3\CMS\Core\ServiceProvider\getFlexFormService(), TYPO3\CMS\Core\ServiceProvider\getFormProtectionFactory(), TYPO3\CMS\Extbase\ServiceProvider\getHashService(), TYPO3\CMS\Core\ServiceProvider\getIconFactory(), TYPO3\CMS\Core\ServiceProvider\getIconRegistry(), TYPO3\CMS\Extbase\ServiceProvider\getImageService(), TYPO3\CMS\Core\ServiceProvider\getLanguageServiceFactory(), TYPO3\CMS\Core\ServiceProvider\getLanguageStore(), TYPO3\CMS\Core\ServiceProvider\getLocales(), TYPO3\CMS\Core\ServiceProvider\getLocalizationFactory(), TYPO3\CMS\Core\ServiceProvider\getLosslessTokenizer(), TYPO3\CMS\Install\ServiceProvider\getMailer(), TYPO3\CMS\Core\ServiceProvider\getMailTransportFactory(), TYPO3\CMS\Core\ServiceProvider\getMetaDataRepository(), TYPO3\CMS\Backend\ServiceProvider\getModuleFactory(), TYPO3\CMS\Backend\ServiceProvider\getModuleProvider(), TYPO3\CMS\Backend\ServiceProvider\getModuleRegistry(), TYPO3\CMS\Core\ServiceProvider\getOpcodeCacheService(), TYPO3\CMS\Core\ServiceProvider\getProcessedFileRepository(), TYPO3\CMS\Extbase\ServiceProvider\getReflectionService(), TYPO3\CMS\Core\ServiceProvider\getRegistry(), TYPO3\CMS\Fluid\ServiceProvider\getRenderingContextFactory(), TYPO3\CMS\Core\ServiceProvider\getRequestContextFactory(), TYPO3\CMS\Core\ServiceProvider\getResourceFactory(), TYPO3\CMS\Core\ServiceProvider\getResponsePropagationMiddleware(), TYPO3\CMS\Backend\ServiceProvider\getRouteDispatcher(), TYPO3\CMS\Core\ServiceProvider\getSchemaMigrator(), TYPO3\CMS\Core\ServiceProvider\getSchemaParser(), TYPO3\CMS\Core\ServiceProvider\getSiteWriter(), TYPO3\CMS\Core\ServiceProvider\getStorageRepository(), TYPO3\CMS\Core\ServiceProvider\getSymfonyEventDispatcher(), TYPO3\CMS\Core\ServiceProvider\getTypoScriptService(), TYPO3\CMS\Backend\ServiceProvider\getUriBuilder(), TYPO3\CMS\Core\ServiceProvider\getVerifyHostHeaderMiddleware(), TYPO3\CMS\Fluid\ServiceProvider\getViewHelperResolverFactory(), TYPO3\CMS\Install\ServiceProvider\getWebServerConfigurationFileService(), and TYPO3\CMS\Core\ServiceProvider\getYamlFileLoader().

Member Data Documentation

◆ $icons

return TYPO3\CMS\Core\Package\AbstractServiceProvider::$icons

Definition at line 177 of file AbstractServiceProvider.php.