| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108 | 
							- <?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>
 
-  *
 
-  * @implements \IteratorAggregate<string, Helper>
 
-  */
 
- class HelperSet implements \IteratorAggregate
 
- {
 
-     /** @var array<string, Helper> */
 
-     private $helpers = [];
 
-     private $command;
 
-     /**
 
-      * @param Helper[] $helpers An array of helper
 
-      */
 
-     public function __construct(array $helpers = [])
 
-     {
 
-         foreach ($helpers as $alias => $helper) {
 
-             $this->set($helper, \is_int($alias) ? null : $alias);
 
-         }
 
-     }
 
-     public function set(HelperInterface $helper, string $alias = null)
 
-     {
 
-         $this->helpers[$helper->getName()] = $helper;
 
-         if (null !== $alias) {
 
-             $this->helpers[$alias] = $helper;
 
-         }
 
-         $helper->setHelperSet($this);
 
-     }
 
-     /**
 
-      * Returns true if the helper if defined.
 
-      *
 
-      * @return bool
 
-      */
 
-     public function has(string $name)
 
-     {
 
-         return isset($this->helpers[$name]);
 
-     }
 
-     /**
 
-      * Gets a helper value.
 
-      *
 
-      * @return HelperInterface
 
-      *
 
-      * @throws InvalidArgumentException if the helper is not defined
 
-      */
 
-     public function get(string $name)
 
-     {
 
-         if (!$this->has($name)) {
 
-             throw new InvalidArgumentException(sprintf('The helper "%s" is not defined.', $name));
 
-         }
 
-         return $this->helpers[$name];
 
-     }
 
-     /**
 
-      * @deprecated since Symfony 5.4
 
-      */
 
-     public function setCommand(Command $command = null)
 
-     {
 
-         trigger_deprecation('symfony/console', '5.4', 'Method "%s()" is deprecated.', __METHOD__);
 
-         $this->command = $command;
 
-     }
 
-     /**
 
-      * Gets the command associated with this helper set.
 
-      *
 
-      * @return Command
 
-      *
 
-      * @deprecated since Symfony 5.4
 
-      */
 
-     public function getCommand()
 
-     {
 
-         trigger_deprecation('symfony/console', '5.4', 'Method "%s()" is deprecated.', __METHOD__);
 
-         return $this->command;
 
-     }
 
-     /**
 
-      * @return \Traversable<string, Helper>
 
-      */
 
-     #[\ReturnTypeWillChange]
 
-     public function getIterator()
 
-     {
 
-         return new \ArrayIterator($this->helpers);
 
-     }
 
- }
 
 
  |