public function WebprofilerServiceProvider::register in Devel 8.2
Same name and namespace in other branches
- 8.3 webprofiler/src/WebprofilerServiceProvider.php \Drupal\webprofiler\WebprofilerServiceProvider::register()
- 8 webprofiler/src/WebprofilerServiceProvider.php \Drupal\webprofiler\WebprofilerServiceProvider::register()
- 4.x webprofiler/src/WebprofilerServiceProvider.php \Drupal\webprofiler\WebprofilerServiceProvider::register()
Registers services to the container.
Parameters
ContainerBuilder $container: The ContainerBuilder to register services to.
Overrides ServiceProviderBase::register
File
- webprofiler/
src/ WebprofilerServiceProvider.php, line 23
Class
- WebprofilerServiceProvider
- Defines a service profiler for the webprofiler module.
Namespace
Drupal\webprofilerCode
public function register(ContainerBuilder $container) {
// Add a compiler pass to discover all data collector services.
$container
->addCompilerPass(new ProfilerPass());
// Add a compiler pass to discover all available storage backend.
$container
->addCompilerPass(new StoragePass());
$container
->addCompilerPass(new ServicePass(), PassConfig::TYPE_AFTER_REMOVING);
$container
->addCompilerPass(new DecoratorPass(), PassConfig::TYPE_AFTER_REMOVING);
$modules = $container
->getParameter('container.modules');
// Add ViewsDataCollector only if Views module is enabled.
if (isset($modules['views'])) {
$container
->register('webprofiler.views', 'Drupal\\webprofiler\\DataCollector\\ViewsDataCollector')
->addArgument(new Reference('views.executable'))
->addArgument(new Reference('entity.manager'))
->addTag('data_collector', [
'template' => '@webprofiler/Collector/views.html.twig',
'id' => 'views',
'title' => 'Views',
'priority' => 75,
]);
}
// Add BlockDataCollector only if Block module is enabled.
if (isset($modules['block'])) {
$container
->register('webprofiler.blocks', 'Drupal\\webprofiler\\DataCollector\\BlocksDataCollector')
->addArgument(new Reference('entity_type.manager'))
->addTag('data_collector', [
'template' => '@webprofiler/Collector/blocks.html.twig',
'id' => 'blocks',
'title' => 'Blocks',
'priority' => 78,
]);
}
// Add TranslationsDataCollector only if Locale module is enabled.
if (isset($modules['locale'])) {
$container
->register('webprofiler.translations', 'Drupal\\webprofiler\\DataCollector\\TranslationsDataCollector')
->addArgument(new Reference('string_translation'))
->addArgument(new Reference('url_generator'))
->addTag('data_collector', [
'template' => '@webprofiler/Collector/translations.html.twig',
'id' => 'translations',
'title' => 'Translations',
'priority' => 210,
]);
}
}