本文整理汇总了PHP中TYPO3\Flow\Core\Bootstrap::setEarlyInstance方法的典型用法代码示例。如果您正苦于以下问题:PHP Bootstrap::setEarlyInstance方法的具体用法?PHP Bootstrap::setEarlyInstance怎么用?PHP Bootstrap::setEarlyInstance使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TYPO3\Flow\Core\Bootstrap
的用法示例。
在下文中一共展示了Bootstrap::setEarlyInstance方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: boot
/**
* 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);
}
});
}
示例2: initializeReflectionService
/**
* 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);
}
示例3: initializeReflectionService
/**
* 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);
}