Exemplo n.º 1
0
 /**
  * Invokes custom PHP code directly after the package manager has been initialized.
  *
  * @param Bootstrap $bootstrap The current bootstrap
  * @return void
  */
 public function boot(Bootstrap $bootstrap)
 {
     if (!file_exists(FLOW_PATH_DATA . 'Logs')) {
         Files::createDirectoryRecursively(FLOW_PATH_DATA . 'Logs');
     }
     $monologFactory = LoggerFactory::getInstance();
     $bootstrap->setEarlyInstance(LoggerFactory::class, $monologFactory);
     $dispatcher = $bootstrap->getSignalSlotDispatcher();
     $dispatcher->connect('TYPO3\\Flow\\Core\\Booting\\Sequence', 'afterInvokeStep', function ($step) use($bootstrap, $dispatcher) {
         if ($step->getIdentifier() === 'typo3.flow:configuration') {
             /** @var ConfigurationManager $configurationManager */
             $configurationManager = $bootstrap->getEarlyInstance(ConfigurationManager::class);
             $monologFactory = LoggerFactory::getInstance();
             $loggerConfigurations = $configurationManager->getConfiguration(ConfigurationManager::CONFIGURATION_TYPE_SETTINGS, 'Flowpack.Monolog');
             $monologFactory->injectConfiguration($loggerConfigurations);
         }
     });
 }
 /**
  * Initializes the Reflection Service
  *
  * @param Bootstrap $bootstrap
  * @return void
  */
 public static function initializeReflectionService(Bootstrap $bootstrap)
 {
     $cacheManager = $bootstrap->getEarlyInstance('TYPO3\\Flow\\Cache\\CacheManager');
     $configurationManager = $bootstrap->getEarlyInstance('TYPO3\\Flow\\Configuration\\ConfigurationManager');
     $settings = $configurationManager->getConfiguration(\TYPO3\Flow\Configuration\ConfigurationManager::CONFIGURATION_TYPE_SETTINGS, 'TYPO3.Flow');
     $reflectionService = new \TYPO3\Flow\Reflection\ReflectionService();
     $reflectionService->injectSystemLogger($bootstrap->getEarlyInstance('TYPO3\\Flow\\Log\\SystemLoggerInterface'));
     $reflectionService->injectClassLoader($bootstrap->getEarlyInstance('TYPO3\\Flow\\Core\\ClassLoader'));
     $reflectionService->injectSettings($settings);
     $reflectionService->injectPackageManager($bootstrap->getEarlyInstance('TYPO3\\Flow\\Package\\PackageManagerInterface'));
     $reflectionService->setStatusCache($cacheManager->getCache('Flow_Reflection_Status'));
     $reflectionService->setReflectionDataCompiletimeCache($cacheManager->getCache('Flow_Reflection_CompiletimeData'));
     $reflectionService->setReflectionDataRuntimeCache($cacheManager->getCache('Flow_Reflection_RuntimeData'));
     $reflectionService->setClassSchemataRuntimeCache($cacheManager->getCache('Flow_Reflection_RuntimeClassSchemata'));
     $reflectionService->injectSettings($configurationManager->getConfiguration(\TYPO3\Flow\Configuration\ConfigurationManager::CONFIGURATION_TYPE_SETTINGS, 'TYPO3.Flow'));
     $reflectionService->injectEnvironment($bootstrap->getEarlyInstance('TYPO3\\Flow\\Utility\\Environment'));
     $bootstrap->setEarlyInstance('TYPO3\\Flow\\Reflection\\ReflectionService', $reflectionService);
     $bootstrap->getObjectManager()->setInstance('TYPO3\\Flow\\Reflection\\ReflectionService', $reflectionService);
 }
 /**
  * Initializes the Reflection Service
  *
  * @param Bootstrap $bootstrap
  * @return void
  */
 public static function initializeReflectionService(Bootstrap $bootstrap)
 {
     $cacheManager = $bootstrap->getEarlyInstance(CacheManager::class);
     $configurationManager = $bootstrap->getEarlyInstance(ConfigurationManager::class);
     $settings = $configurationManager->getConfiguration(ConfigurationManager::CONFIGURATION_TYPE_SETTINGS, 'TYPO3.Flow');
     $reflectionService = new ReflectionService();
     $reflectionService->injectSystemLogger($bootstrap->getEarlyInstance(SystemLoggerInterface::class));
     $reflectionService->injectClassLoader($bootstrap->getEarlyInstance(ClassLoader::class));
     $reflectionService->injectSettings($settings);
     $reflectionService->injectPackageManager($bootstrap->getEarlyInstance(PackageManagerInterface::class));
     $reflectionService->setStatusCache($cacheManager->getCache('Flow_Reflection_Status'));
     $reflectionService->setReflectionDataCompiletimeCache($cacheManager->getCache('Flow_Reflection_CompiletimeData'));
     $reflectionService->setReflectionDataRuntimeCache($cacheManager->getCache('Flow_Reflection_RuntimeData'));
     $reflectionService->setClassSchemataRuntimeCache($cacheManager->getCache('Flow_Reflection_RuntimeClassSchemata'));
     $reflectionService->injectSettings($configurationManager->getConfiguration(ConfigurationManager::CONFIGURATION_TYPE_SETTINGS, 'TYPO3.Flow'));
     $reflectionService->injectEnvironment($bootstrap->getEarlyInstance(Environment::class));
     $bootstrap->setEarlyInstance(ReflectionService::class, $reflectionService);
     $bootstrap->getObjectManager()->setInstance(ReflectionService::class, $reflectionService);
 }