Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Newer
Older
100644 105 lines (92 sloc) 2.422 kB
68c191c @fabpot renamed Symfony\Components to Symfony\Component
fabpot authored
1 <?php
2
3 /*
4a83d99 @blue-eyes normalized license messages in PHP files
blue-eyes authored
4 * This file is part of the Symfony package.
68c191c @fabpot renamed Symfony\Components to Symfony\Component
fabpot authored
5 *
b933805 @fabpot replaced symfony-project.org by symfony.com
fabpot authored
6 * (c) Fabien Potencier <fabien@symfony.com>
68c191c @fabpot renamed Symfony\Components to Symfony\Component
fabpot authored
7 *
4a83d99 @blue-eyes normalized license messages in PHP files
blue-eyes authored
8 * For the full copyright and license information, please view the LICENSE
9 * file that was distributed with this source code.
68c191c @fabpot renamed Symfony\Components to Symfony\Component
fabpot authored
10 */
11
4a83d99 @blue-eyes normalized license messages in PHP files
blue-eyes authored
12 namespace Symfony\Component\Console\Helper;
13
14 use Symfony\Component\Console\Command\Command;
15
68c191c @fabpot renamed Symfony\Components to Symfony\Component
fabpot authored
16 /**
17 * HelperSet represents a set of helpers to be used with a command.
18 *
b933805 @fabpot replaced symfony-project.org by symfony.com
fabpot authored
19 * @author Fabien Potencier <fabien@symfony.com>
68c191c @fabpot renamed Symfony\Components to Symfony\Component
fabpot authored
20 */
21 class HelperSet
22 {
67dbf5e @fabpot moved most protected to private in the Console component
fabpot authored
23 private $helpers;
24 private $command;
68c191c @fabpot renamed Symfony\Components to Symfony\Component
fabpot authored
25
26 /**
b9e91f5 @javiereguiluz [Console][Helper] Added missing PHPDoc and fixed some minor typos and…
javiereguiluz authored
27 * Constructor.
28 *
68c191c @fabpot renamed Symfony\Components to Symfony\Component
fabpot authored
29 * @param Helper[] $helpers An array of helper.
30 */
31 public function __construct(array $helpers = array())
32 {
33 $this->helpers = array();
34 foreach ($helpers as $alias => $helper) {
35 $this->set($helper, is_int($alias) ? null : $alias);
36 }
37 }
38
39 /**
40 * Sets a helper.
41 *
5341f6a @pborreli [Various] Fixed phpdoc
pborreli authored
42 * @param HelperInterface $helper The helper instance
43 * @param string $alias An alias
68c191c @fabpot renamed Symfony\Components to Symfony\Component
fabpot authored
44 */
45 public function set(HelperInterface $helper, $alias = null)
46 {
47 $this->helpers[$helper->getName()] = $helper;
48 if (null !== $alias) {
49 $this->helpers[$alias] = $helper;
50 }
51
52 $helper->setHelperSet($this);
53 }
54
55 /**
56 * Returns true if the helper if defined.
57 *
0e67dc7 @fabpot fixed phpdoc @param alignment
fabpot authored
58 * @param string $name The helper name
68c191c @fabpot renamed Symfony\Components to Symfony\Component
fabpot authored
59 *
60 * @return Boolean true if the helper is defined, false otherwise
61 */
62 public function has($name)
63 {
64 return isset($this->helpers[$name]);
65 }
66
67 /**
68 * Gets a helper value.
69 *
70 * @param string $name The helper name
71 *
72 * @return HelperInterface The helper instance
73 *
74 * @throws \InvalidArgumentException if the helper is not defined
75 */
76 public function get($name)
77 {
78 if (!$this->has($name)) {
79 throw new \InvalidArgumentException(sprintf('The helper "%s" is not defined.', $name));
80 }
81
82 return $this->helpers[$name];
83 }
84
85 /**
86 * Sets the command associated with this helper set.
87 *
88 * @param Command $command A Command instance
89 */
90 public function setCommand(Command $command = null)
91 {
92 $this->command = $command;
93 }
94
95 /**
96 * Gets the command associated with this helper set.
97 *
98 * @return Command A Command instance
99 */
100 public function getCommand()
101 {
102 return $this->command;
103 }
104 }
Something went wrong with that request. Please try again.