‪TYPO3CMS  11.5
ServiceProvider.php
Go to the documentation of this file.
1 <?php
2 
3 declare(strict_types=1);
4 
5 /*
6  * This file is part of the TYPO3 CMS project.
7  *
8  * It is free software; you can redistribute it and/or modify it under
9  * the terms of the GNU General Public License, either version 2
10  * of the License, or any later version.
11  *
12  * For the full copyright and license information, please read the
13  * LICENSE.txt file that was distributed with this source code.
14  *
15  * The TYPO3 project - inspiring people to share!
16  */
17 
18 namespace ‪TYPO3\CMS\Extbase;
19 
20 use Psr\Container\ContainerInterface;
27 
32 {
33  protected static function ‪getPackagePath(): string
34  {
35  return __DIR__ . '/../';
36  }
37 
38  public function ‪getFactories(): array
39  {
40  return [
41  // @deprecated since v11, will be removed in v12
42  Object\Container\Container::class => [ static::class, 'getObjectContainer' ],
43  // @deprecated since v11, will be removed in v12
44  Object\ObjectManager::class => [ static::class, 'getObjectManager' ],
45  // @deprecated since v11, will be removed in v12
46  SignalSlot\Dispatcher::class => [ static::class, 'getSignalSlotDispatcher' ],
47  Configuration\BackendConfigurationManager::class => [ static::class, 'getBackendConfigurationManager' ],
48  Configuration\ConfigurationManager::class => [ static::class, 'getConfigurationManager' ],
49  Reflection\ReflectionService::class => [ static::class, 'getReflectionService' ],
50  // @deprecated since v11, will be removed in v12
51  Service\EnvironmentService::class => [ static::class, 'getEnvironmentService' ],
52  Service\ExtensionService::class => [ static::class, 'getExtensionService' ],
53  Service\ImageService::class => [ static::class, 'getImageService' ],
54  Security\Cryptography\HashService::class => [ static::class, 'getHashService' ],
55  ];
56  }
57 
61  public static function ‪getObjectContainer(ContainerInterface $container): Object\Container\Container
62  {
63  return ‪self::new($container, Object\Container\Container::class, [$container]);
64  }
65 
69  public static function ‪getObjectManager(ContainerInterface $container): Object\ObjectManager
70  {
71  return ‪self::new($container, Object\ObjectManager::class, [$container, $container->get(Object\Container\Container::class)]);
72  }
73 
77  public static function ‪getSignalSlotDispatcher(ContainerInterface $container): SignalSlot\Dispatcher
78  {
79  $logger = $container->get(LogManager::class)->getLogger(SignalSlot\Dispatcher::class);
80  return ‪self::new($container, SignalSlot\Dispatcher::class, [$container->get(Object\ObjectManager::class), $logger]);
81  }
82 
83  public static function ‪getBackendConfigurationManager(ContainerInterface $container): Configuration\BackendConfigurationManager
84  {
85  return ‪self::new($container, Configuration\BackendConfigurationManager::class, [
86  $container->get(TypoScriptService::class),
87  ]);
88  }
89 
90  public static function ‪getConfigurationManager(ContainerInterface $container): Configuration\ConfigurationManager
91  {
92  return ‪self::new($container, Configuration\ConfigurationManager::class, [$container]);
93  }
94 
95  public static function ‪getReflectionService(ContainerInterface $container): Reflection\ReflectionService
96  {
97  return ‪self::new($container, Reflection\ReflectionService::class, [$container->get(CacheManager::class)->getCache('extbase'), $container->get(PackageDependentCacheIdentifier::class)->withPrefix('ClassSchemata')->toString()]);
98  }
99 
103  public static function ‪getEnvironmentService(ContainerInterface $container): Service\EnvironmentService
104  {
105  return ‪self::new($container, Service\EnvironmentService::class);
106  }
107 
108  public static function ‪getExtensionService(ContainerInterface $container): Service\ExtensionService
109  {
110  $extensionService = ‪self::new($container, Service\ExtensionService::class);
111  $extensionService->injectConfigurationManager($container->get(Configuration\ConfigurationManager::class));
112  return $extensionService;
113  }
114 
115  public static function ‪getImageService(ContainerInterface $container): Service\ImageService
116  {
117  return ‪self::new($container, Service\ImageService::class, [
118  $container->get(ResourceFactory::class),
119  ]);
120  }
121 
122  public static function ‪getHashService(ContainerInterface $container): Security\Cryptography\HashService
123  {
124  return ‪self::new($container, Security\Cryptography\HashService::class);
125  }
126 }
‪TYPO3\CMS\Extbase\ServiceProvider\getImageService
‪static getImageService(ContainerInterface $container)
Definition: ServiceProvider.php:115
‪TYPO3\CMS\Extbase\ServiceProvider\getObjectContainer
‪static getObjectContainer(ContainerInterface $container)
Definition: ServiceProvider.php:61
‪TYPO3\CMS\Core\Package\AbstractServiceProvider
Definition: AbstractServiceProvider.php:31
‪TYPO3\CMS\Extbase\ServiceProvider\getSignalSlotDispatcher
‪static getSignalSlotDispatcher(ContainerInterface $container)
Definition: ServiceProvider.php:77
‪TYPO3\CMS\Core\Package\Cache\PackageDependentCacheIdentifier
Definition: PackageDependentCacheIdentifier.php:30
‪TYPO3\CMS\Core\Package\AbstractServiceProvider\new
‪static mixed new(ContainerInterface $container, string $className, array $constructorArguments=[])
Definition: AbstractServiceProvider.php:130
‪TYPO3\CMS\Extbase\ServiceProvider\getPackagePath
‪static getPackagePath()
Definition: ServiceProvider.php:33
‪TYPO3\CMS\Extbase
‪TYPO3\CMS\Extbase\ServiceProvider\getObjectManager
‪static getObjectManager(ContainerInterface $container)
Definition: ServiceProvider.php:69
‪TYPO3\CMS\Extbase\ServiceProvider\getBackendConfigurationManager
‪static getBackendConfigurationManager(ContainerInterface $container)
Definition: ServiceProvider.php:83
‪TYPO3\CMS\Core\Resource\ResourceFactory
Definition: ResourceFactory.php:41
‪TYPO3\CMS\Core\Cache\CacheManager
Definition: CacheManager.php:36
‪TYPO3\CMS\Extbase\ServiceProvider\getExtensionService
‪static getExtensionService(ContainerInterface $container)
Definition: ServiceProvider.php:108
‪TYPO3\CMS\Extbase\ServiceProvider\getFactories
‪getFactories()
Definition: ServiceProvider.php:38
‪TYPO3\CMS\Extbase\ServiceProvider\getConfigurationManager
‪static getConfigurationManager(ContainerInterface $container)
Definition: ServiceProvider.php:90
‪TYPO3\CMS\Extbase\ServiceProvider\getEnvironmentService
‪static getEnvironmentService(ContainerInterface $container)
Definition: ServiceProvider.php:103
‪TYPO3\CMS\Core\TypoScript\TypoScriptService
Definition: TypoScriptService.php:25
‪TYPO3\CMS\Extbase\ServiceProvider
Definition: ServiceProvider.php:32
‪TYPO3\CMS\Core\Log\LogManager
Definition: LogManager.php:33
‪TYPO3\CMS\Extbase\ServiceProvider\getReflectionService
‪static getReflectionService(ContainerInterface $container)
Definition: ServiceProvider.php:95
‪TYPO3\CMS\Extbase\ServiceProvider\getHashService
‪static getHashService(ContainerInterface $container)
Definition: ServiceProvider.php:122