Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Newer
Older
100644 104 lines (92 sloc) 2.422 kb
68c191cd » fabpot
2010-08-20 renamed Symfony\Components to Symfony\Component
1 <?php
2
3 /*
4a83d996 » blue-eyes
2011-01-15 normalized license messages in PHP files
4 * This file is part of the Symfony package.
68c191cd » fabpot
2010-08-20 renamed Symfony\Components to Symfony\Component
5 *
b9338056 » fabpot
2011-03-06 replaced symfony-project.org by symfony.com
6 * (c) Fabien Potencier <fabien@symfony.com>
68c191cd » fabpot
2010-08-20 renamed Symfony\Components to Symfony\Component
7 *
4a83d996 » blue-eyes
2011-01-15 normalized license messages in PHP files
8 * For the full copyright and license information, please view the LICENSE
9 * file that was distributed with this source code.
68c191cd » fabpot
2010-08-20 renamed Symfony\Components to Symfony\Component
10 */
11
4a83d996 » blue-eyes
2011-01-15 normalized license messages in PHP files
12 namespace Symfony\Component\Console\Helper;
13
14 use Symfony\Component\Console\Command\Command;
15
68c191cd » fabpot
2010-08-20 renamed Symfony\Components to Symfony\Component
16 /**
17 * HelperSet represents a set of helpers to be used with a command.
18 *
b9338056 » fabpot
2011-03-06 replaced symfony-project.org by symfony.com
19 * @author Fabien Potencier <fabien@symfony.com>
68c191cd » fabpot
2010-08-20 renamed Symfony\Components to Symfony\Component
20 */
21 class HelperSet
22 {
67dbf5e1 » fabpot
2011-03-11 moved most protected to private in the Console component
23 private $helpers;
24 private $command;
68c191cd » fabpot
2010-08-20 renamed Symfony\Components to Symfony\Component
25
26 /**
b9e91f57 » javiereguiluz
2011-12-28 [Console][Helper] Added missing PHPDoc and fixed some minor typos and…
27 * Constructor.
28 *
68c191cd » fabpot
2010-08-20 renamed Symfony\Components to Symfony\Component
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 *
5341f6ae » pborreli
2011-05-29 [Various] Fixed phpdoc
42 * @param HelperInterface $helper The helper instance
43 * @param string $alias An alias
68c191cd » fabpot
2010-08-20 renamed Symfony\Components to Symfony\Component
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 *
0e67dc70 » fabpot
2012-05-15 fixed phpdoc @param alignment
58 * @param string $name The helper name
68c191cd » fabpot
2010-08-20 renamed Symfony\Components to Symfony\Component
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.