class WorkspacesServiceProvider in Drupal 8
Same name and namespace in other branches
- 9 core/modules/workspaces/src/WorkspacesServiceProvider.php \Drupal\workspaces\WorkspacesServiceProvider
- 10 core/modules/workspaces/src/WorkspacesServiceProvider.php \Drupal\workspaces\WorkspacesServiceProvider
Defines a service provider for the Workspaces module.
Hierarchy
- class \Drupal\Core\DependencyInjection\ServiceProviderBase implements ServiceModifierInterface, ServiceProviderInterface
- class \Drupal\workspaces\WorkspacesServiceProvider
Expanded class hierarchy of WorkspacesServiceProvider
File
- core/
modules/ workspaces/ src/ WorkspacesServiceProvider.php, line 13
Namespace
Drupal\workspacesView source
class WorkspacesServiceProvider extends ServiceProviderBase {
/**
* {@inheritdoc}
*/
public function alter(ContainerBuilder $container) {
// Add the 'workspace' cache context as required.
$renderer_config = $container
->getParameter('renderer.config');
$renderer_config['required_cache_contexts'][] = 'workspace';
$container
->setParameter('renderer.config', $renderer_config);
// Replace the class of the 'path_alias.repository' service.
if ($container
->hasDefinition('path_alias.repository')) {
$definition = $container
->getDefinition('path_alias.repository');
if (!$definition
->isDeprecated()) {
$definition
->setClass(WorkspacesAliasRepository::class)
->addMethodCall('setWorkspacesManager', [
new Reference('workspaces.manager'),
]);
}
}
// Ensure that there's no active workspace while running database updates by
// removing the relevant tag from all workspace negotiator services.
if ($container
->get('kernel') instanceof UpdateKernel) {
foreach ($container
->getDefinitions() as $id => $definition) {
if ($definition
->hasTag('workspace_negotiator')) {
$definition
->clearTag('workspace_negotiator');
}
}
}
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
ServiceProviderBase:: |
public | function |
Registers services to the container. Overrides ServiceProviderInterface:: |
1 |
WorkspacesServiceProvider:: |
public | function |
Modifies existing service definitions. Overrides ServiceProviderBase:: |