2015-08-17 17:00:26 -07:00
< ? php
/*
* This file is part of the Symfony package .
*
* ( c ) Fabien Potencier < fabien @ symfony . com >
*
* For the full copyright and license information , please view the LICENSE
* file that was distributed with this source code .
*/
namespace Symfony\Component\DependencyInjection ;
class Alias
{
private $id ;
private $public ;
2018-11-23 12:29:20 +00:00
private $private ;
2015-08-17 17:00:26 -07:00
/**
* @ param string $id Alias identifier
* @ param bool $public If this alias is public
*/
public function __construct ( $id , $public = true )
{
2018-11-23 12:29:20 +00:00
$this -> id = ( string ) $id ;
2015-08-17 17:00:26 -07:00
$this -> public = $public ;
2018-11-23 12:29:20 +00:00
$this -> private = 2 > \func_num_args ();
2015-08-17 17:00:26 -07:00
}
/**
* Checks if this DI Alias should be public or not .
*
* @ return bool
*/
public function isPublic ()
{
return $this -> public ;
}
/**
* Sets if this Alias is public .
*
* @ param bool $boolean If this Alias should be public
2018-11-23 12:29:20 +00:00
*
* @ return $this
2015-08-17 17:00:26 -07:00
*/
public function setPublic ( $boolean )
{
$this -> public = ( bool ) $boolean ;
2018-11-23 12:29:20 +00:00
$this -> private = false ;
return $this ;
}
/**
* Sets if this Alias is private .
*
* When set , the " private " state has a higher precedence than " public " .
* In version 3.4 , a " private " alias always remains publicly accessible ,
* but triggers a deprecation notice when accessed from the container ,
* so that the alias can be made really private in 4.0 .
*
* @ param bool $boolean
*
* @ return $this
*/
public function setPrivate ( $boolean )
{
$this -> private = ( bool ) $boolean ;
return $this ;
}
/**
* Whether this alias is private .
*
* @ return bool
*/
public function isPrivate ()
{
return $this -> private ;
2015-08-17 17:00:26 -07:00
}
/**
* Returns the Id of this alias .
*
* @ return string The alias id
*/
public function __toString ()
{
return $this -> id ;
}
}