You are here

class ScopeWideningInjectionException in Service Container 7.2

Same name and namespace in other branches
  1. 7 modules/providers/service_container_symfony/lib/Symfony/Component/DependencyInjection/Exception/ScopeWideningInjectionException.php \Symfony\Component\DependencyInjection\Exception\ScopeWideningInjectionException

Thrown when a scope widening injection is detected.

@author Johannes M. Schmitt <schmittjoh@gmail.com>

Hierarchy

Expanded class hierarchy of ScopeWideningInjectionException

1 file declares its use of ScopeWideningInjectionException
CheckReferenceValidityPass.php in modules/providers/service_container_symfony/lib/Symfony/Component/DependencyInjection/Compiler/CheckReferenceValidityPass.php

File

modules/providers/service_container_symfony/lib/Symfony/Component/DependencyInjection/Exception/ScopeWideningInjectionException.php, line 19

Namespace

Symfony\Component\DependencyInjection\Exception
View source
class ScopeWideningInjectionException extends RuntimeException {
  private $sourceServiceId;
  private $sourceScope;
  private $destServiceId;
  private $destScope;
  public function __construct($sourceServiceId, $sourceScope, $destServiceId, $destScope, \Exception $previous = null) {
    parent::__construct(sprintf('Scope Widening Injection detected: The definition "%s" references the service "%s" which belongs to a narrower scope. ' . 'Generally, it is safer to either move "%s" to scope "%s" or alternatively rely on the provider pattern by injecting the container itself, and requesting the service "%s" each time it is needed. ' . 'In rare, special cases however that might not be necessary, then you can set the reference to strict=false to get rid of this error.', $sourceServiceId, $destServiceId, $sourceServiceId, $destScope, $destServiceId), 0, $previous);
    $this->sourceServiceId = $sourceServiceId;
    $this->sourceScope = $sourceScope;
    $this->destServiceId = $destServiceId;
    $this->destScope = $destScope;
  }
  public function getSourceServiceId() {
    return $this->sourceServiceId;
  }
  public function getSourceScope() {
    return $this->sourceScope;
  }
  public function getDestServiceId() {
    return $this->destServiceId;
  }
  public function getDestScope() {
    return $this->destScope;
  }

}

Members