class DependencySerializationTraitPass in Drupal 8
Same name and namespace in other branches
- 9 core/lib/Drupal/Core/DependencyInjection/Compiler/DependencySerializationTraitPass.php \Drupal\Core\DependencyInjection\Compiler\DependencySerializationTraitPass
Sets the _serviceId property on all services.
Hierarchy
- class \Drupal\Core\DependencyInjection\Compiler\DependencySerializationTraitPass implements \Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface
Expanded class hierarchy of DependencySerializationTraitPass
See also
\Drupal\Core\DependencyInjection\DependencySerializationTrait
1 file declares its use of DependencySerializationTraitPass
- CoreServiceProvider.php in core/
lib/ Drupal/ Core/ CoreServiceProvider.php
File
- core/
lib/ Drupal/ Core/ DependencyInjection/ Compiler/ DependencySerializationTraitPass.php, line 13
Namespace
Drupal\Core\DependencyInjection\CompilerView source
class DependencySerializationTraitPass implements CompilerPassInterface {
/**
* {@inheritdoc}
*/
public function process(ContainerBuilder $container) {
foreach ($container
->getDefinitions() as $service_id => $definition) {
// Only add the property to services that are public (as private services
// can not be reloaded through Container::get()) and are objects.
if (!$definition
->hasTag('parameter_service') && $definition
->isPublic()) {
$definition
->setProperty('_serviceId', $service_id);
}
}
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
DependencySerializationTraitPass:: |
public | function | You can modify the container here before it is dumped to PHP code. |