2011-03-14 20:12:42 +00:00
< ? php
2011-05-31 09:57:06 +01:00
/*
2012-03-31 22:00:32 +01:00
* This file is part of the Symfony package .
2011-05-31 09:57:06 +01:00
*
* ( c ) Fabien Potencier < fabien @ symfony . com >
*
2012-03-31 22:00:32 +01:00
* For the full copyright and license information , please view the LICENSE
* file that was distributed with this source code .
2011-05-31 09:57:06 +01:00
*/
2011-03-14 20:12:42 +00:00
namespace Symfony\Component\DependencyInjection\Exception ;
/**
* This exception is thrown when the a scope crossing injection is detected .
*
* @ author Johannes M . Schmitt < schmittjoh @ gmail . com >
*/
class ScopeCrossingInjectionException extends RuntimeException
{
private $sourceServiceId ;
private $sourceScope ;
private $destServiceId ;
private $destScope ;
2013-03-08 09:15:11 +00:00
public function __construct ( $sourceServiceId , $sourceScope , $destServiceId , $destScope , \Exception $previous = null )
2011-03-14 20:12:42 +00:00
{
parent :: __construct ( sprintf (
'Scope Crossing Injection detected: The definition "%s" references the service "%s" which belongs to another scope hierarchy. '
. 'This service might not be available consistently. Generally, it is safer to either move the definition "%s" to scope "%s", or '
. 'declare "%s" as a child scope of "%s". If you can be sure that the other scope is always active, you can set the reference to strict=false to get rid of this error.' ,
$sourceServiceId ,
$destServiceId ,
$sourceServiceId ,
$destScope ,
$sourceScope ,
$destScope
2013-03-08 09:15:11 +00:00
), 0 , $previous );
2011-03-14 20:12:42 +00:00
$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 ;
}
2011-06-08 11:16:48 +01:00
}