{
private $id;
private $public;
+ private $private;
/**
* @param string $id Alias identifier
*/
public function __construct($id, $public = true)
{
- $this->id = strtolower($id);
+ $this->id = (string) $id;
$this->public = $public;
+ $this->private = 2 > func_num_args();
}
/**
* Sets if this Alias is public.
*
* @param bool $boolean If this Alias should be public
+ *
+ * @return $this
*/
public function setPublic($boolean)
{
$this->public = (bool) $boolean;
+ $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;
}
/**