radarrplexorganizrnginxsonarrdashboardhtpcserverhomepagesabnzbdheimdallembycouchpotatonzbgetbookmarkapplication-dashboardmuximuxlandingpagestartpagelanding
		
		
		
		
			You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							108 lines
						
					
					
						
							2.4 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							108 lines
						
					
					
						
							2.4 KiB
						
					
					
				| <?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\Console\Helper; | |
| 
 | |
| use Symfony\Component\Console\Command\Command; | |
| use Symfony\Component\Console\Exception\InvalidArgumentException; | |
| 
 | |
| /** | |
|  * HelperSet represents a set of helpers to be used with a command. | |
|  * | |
|  * @author Fabien Potencier <fabien@symfony.com> | |
|  */ | |
| class HelperSet implements \IteratorAggregate | |
| { | |
|     /** | |
|      * @var Helper[] | |
|      */ | |
|     private $helpers = array(); | |
|     private $command; | |
| 
 | |
|     /** | |
|      * @param Helper[] $helpers An array of helper | |
|      */ | |
|     public function __construct(array $helpers = array()) | |
|     { | |
|         foreach ($helpers as $alias => $helper) { | |
|             $this->set($helper, \is_int($alias) ? null : $alias); | |
|         } | |
|     } | |
| 
 | |
|     /** | |
|      * Sets a helper. | |
|      * | |
|      * @param HelperInterface $helper The helper instance | |
|      * @param string          $alias  An alias | |
|      */ | |
|     public function set(HelperInterface $helper, $alias = null) | |
|     { | |
|         $this->helpers[$helper->getName()] = $helper; | |
|         if (null !== $alias) { | |
|             $this->helpers[$alias] = $helper; | |
|         } | |
| 
 | |
|         $helper->setHelperSet($this); | |
|     } | |
| 
 | |
|     /** | |
|      * Returns true if the helper if defined. | |
|      * | |
|      * @param string $name The helper name | |
|      * | |
|      * @return bool true if the helper is defined, false otherwise | |
|      */ | |
|     public function has($name) | |
|     { | |
|         return isset($this->helpers[$name]); | |
|     } | |
| 
 | |
|     /** | |
|      * Gets a helper value. | |
|      * | |
|      * @param string $name The helper name | |
|      * | |
|      * @return HelperInterface The helper instance | |
|      * | |
|      * @throws InvalidArgumentException if the helper is not defined | |
|      */ | |
|     public function get($name) | |
|     { | |
|         if (!$this->has($name)) { | |
|             throw new InvalidArgumentException(sprintf('The helper "%s" is not defined.', $name)); | |
|         } | |
| 
 | |
|         return $this->helpers[$name]; | |
|     } | |
| 
 | |
|     public function setCommand(Command $command = null) | |
|     { | |
|         $this->command = $command; | |
|     } | |
| 
 | |
|     /** | |
|      * Gets the command associated with this helper set. | |
|      * | |
|      * @return Command A Command instance | |
|      */ | |
|     public function getCommand() | |
|     { | |
|         return $this->command; | |
|     } | |
| 
 | |
|     /** | |
|      * @return Helper[] | |
|      */ | |
|     public function getIterator() | |
|     { | |
|         return new \ArrayIterator($this->helpers); | |
|     } | |
| }
 | |
| 
 |