You are here

private function CheckExceptionOnInvalidReferenceBehaviorPass::processReferences in Service Container 7.2

Same name and namespace in other branches
  1. 7 modules/providers/service_container_symfony/lib/Symfony/Component/DependencyInjection/Compiler/CheckExceptionOnInvalidReferenceBehaviorPass.php \Symfony\Component\DependencyInjection\Compiler\CheckExceptionOnInvalidReferenceBehaviorPass::processReferences()
1 call to CheckExceptionOnInvalidReferenceBehaviorPass::processReferences()
CheckExceptionOnInvalidReferenceBehaviorPass::processDefinition in modules/providers/service_container_symfony/lib/Symfony/Component/DependencyInjection/Compiler/CheckExceptionOnInvalidReferenceBehaviorPass.php

File

modules/providers/service_container_symfony/lib/Symfony/Component/DependencyInjection/Compiler/CheckExceptionOnInvalidReferenceBehaviorPass.php, line 47

Class

CheckExceptionOnInvalidReferenceBehaviorPass
Checks that all references are pointing to a valid service.

Namespace

Symfony\Component\DependencyInjection\Compiler

Code

private function processReferences(array $arguments) {
  foreach ($arguments as $argument) {
    if (is_array($argument)) {
      $this
        ->processReferences($argument);
    }
    elseif ($argument instanceof Definition) {
      $this
        ->processDefinition($argument);
    }
    elseif ($argument instanceof Reference && ContainerInterface::EXCEPTION_ON_INVALID_REFERENCE === $argument
      ->getInvalidBehavior()) {
      $destId = (string) $argument;
      if (!$this->container
        ->has($destId)) {
        throw new ServiceNotFoundException($destId, $this->sourceId);
      }
    }
  }
}