Chris@0
|
1 <?php
|
Chris@0
|
2
|
Chris@0
|
3 /*
|
Chris@0
|
4 * This file is part of the Symfony package.
|
Chris@0
|
5 *
|
Chris@0
|
6 * (c) Fabien Potencier <fabien@symfony.com>
|
Chris@0
|
7 *
|
Chris@0
|
8 * For the full copyright and license information, please view the LICENSE
|
Chris@0
|
9 * file that was distributed with this source code.
|
Chris@0
|
10 */
|
Chris@0
|
11
|
Chris@0
|
12 namespace Symfony\Component\DependencyInjection;
|
Chris@0
|
13
|
Chris@0
|
14 class Alias
|
Chris@0
|
15 {
|
Chris@0
|
16 private $id;
|
Chris@0
|
17 private $public;
|
Chris@14
|
18 private $private;
|
Chris@0
|
19
|
Chris@0
|
20 /**
|
Chris@0
|
21 * @param string $id Alias identifier
|
Chris@0
|
22 * @param bool $public If this alias is public
|
Chris@0
|
23 */
|
Chris@0
|
24 public function __construct($id, $public = true)
|
Chris@0
|
25 {
|
Chris@14
|
26 $this->id = (string) $id;
|
Chris@0
|
27 $this->public = $public;
|
Chris@17
|
28 $this->private = 2 > \func_num_args();
|
Chris@0
|
29 }
|
Chris@0
|
30
|
Chris@0
|
31 /**
|
Chris@0
|
32 * Checks if this DI Alias should be public or not.
|
Chris@0
|
33 *
|
Chris@0
|
34 * @return bool
|
Chris@0
|
35 */
|
Chris@0
|
36 public function isPublic()
|
Chris@0
|
37 {
|
Chris@0
|
38 return $this->public;
|
Chris@0
|
39 }
|
Chris@0
|
40
|
Chris@0
|
41 /**
|
Chris@0
|
42 * Sets if this Alias is public.
|
Chris@0
|
43 *
|
Chris@0
|
44 * @param bool $boolean If this Alias should be public
|
Chris@14
|
45 *
|
Chris@14
|
46 * @return $this
|
Chris@0
|
47 */
|
Chris@0
|
48 public function setPublic($boolean)
|
Chris@0
|
49 {
|
Chris@0
|
50 $this->public = (bool) $boolean;
|
Chris@14
|
51 $this->private = false;
|
Chris@14
|
52
|
Chris@14
|
53 return $this;
|
Chris@14
|
54 }
|
Chris@14
|
55
|
Chris@14
|
56 /**
|
Chris@14
|
57 * Sets if this Alias is private.
|
Chris@14
|
58 *
|
Chris@14
|
59 * When set, the "private" state has a higher precedence than "public".
|
Chris@14
|
60 * In version 3.4, a "private" alias always remains publicly accessible,
|
Chris@14
|
61 * but triggers a deprecation notice when accessed from the container,
|
Chris@14
|
62 * so that the alias can be made really private in 4.0.
|
Chris@14
|
63 *
|
Chris@14
|
64 * @param bool $boolean
|
Chris@14
|
65 *
|
Chris@14
|
66 * @return $this
|
Chris@14
|
67 */
|
Chris@14
|
68 public function setPrivate($boolean)
|
Chris@14
|
69 {
|
Chris@14
|
70 $this->private = (bool) $boolean;
|
Chris@14
|
71
|
Chris@14
|
72 return $this;
|
Chris@14
|
73 }
|
Chris@14
|
74
|
Chris@14
|
75 /**
|
Chris@14
|
76 * Whether this alias is private.
|
Chris@14
|
77 *
|
Chris@14
|
78 * @return bool
|
Chris@14
|
79 */
|
Chris@14
|
80 public function isPrivate()
|
Chris@14
|
81 {
|
Chris@14
|
82 return $this->private;
|
Chris@0
|
83 }
|
Chris@0
|
84
|
Chris@0
|
85 /**
|
Chris@0
|
86 * Returns the Id of this alias.
|
Chris@0
|
87 *
|
Chris@0
|
88 * @return string The alias id
|
Chris@0
|
89 */
|
Chris@0
|
90 public function __toString()
|
Chris@0
|
91 {
|
Chris@0
|
92 return $this->id;
|
Chris@0
|
93 }
|
Chris@0
|
94 }
|