Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. AliasDeprecatedPublicServicesPass.php

function AliasDeprecatedPublicServicesPass::process

Overrides AbstractRecursivePass::process

File

vendor/symfony/dependency-injection/Compiler/AliasDeprecatedPublicServicesPass.php, line 24

Class

AliasDeprecatedPublicServicesPass

Namespace

Symfony\Component\DependencyInjection\Compiler

Code

public function process(ContainerBuilder $container) : void {
    foreach ($container->findTaggedServiceIds('container.private') as $id => $tags) {
        if (null === ($package = $tags[0]['package'] ?? null)) {
            throw new InvalidArgumentException(\sprintf('The "package" attribute is mandatory for the "container.private" tag on the "%s" service.', $id));
        }
        if (null === ($version = $tags[0]['version'] ?? null)) {
            throw new InvalidArgumentException(\sprintf('The "version" attribute is mandatory for the "container.private" tag on the "%s" service.', $id));
        }
        $definition = $container->getDefinition($id);
        if (!$definition->isPublic() || $definition->isPrivate()) {
            continue;
        }
        $container->setAlias($id, $aliasId = '.container.private.' . $id)
            ->setPublic(true)
            ->setDeprecated($package, $version, 'Accessing the "%alias_id%" service directly from the container is deprecated, use dependency injection instead.');
        $container->setDefinition($aliasId, $definition);
        $this->aliases[$id] = $aliasId;
    }
    parent::process($container);
}

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal