You are here

class HelperSet in Zircon Profile 8

Same name and namespace in other branches
  1. 8.0 vendor/symfony/console/Helper/HelperSet.php \Symfony\Component\Console\Helper\HelperSet

HelperSet represents a set of helpers to be used with a command.

@author Fabien Potencier <fabien@symfony.com>

Hierarchy

  • class \Symfony\Component\Console\Helper\HelperSet implements \Symfony\Component\Console\Helper\IteratorAggregate

Expanded class hierarchy of HelperSet

8 files declare their use of HelperSet
Application.php in vendor/symfony/console/Application.php
ApplicationTest.php in vendor/symfony/console/Tests/ApplicationTest.php
Command.php in vendor/symfony/console/Command/Command.php
DebugHandlersListenerTest.php in vendor/symfony/http-kernel/Tests/EventListener/DebugHandlersListenerTest.php
HelperSetTest.php in vendor/symfony/console/Tests/Helper/HelperSetTest.php

... See full list

File

vendor/symfony/console/Helper/HelperSet.php, line 21

Namespace

Symfony\Component\Console\Helper
View source
class HelperSet implements \IteratorAggregate {
  private $helpers = array();
  private $command;

  /**
   * Constructor.
   *
   * @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));
    }
    if ('dialog' === $name && $this->helpers[$name] instanceof DialogHelper) {
      @trigger_error('"Symfony\\Component\\Console\\Helper\\DialogHelper" is deprecated since version 2.5 and will be removed in 3.0. Use "Symfony\\Component\\Console\\Helper\\QuestionHelper" instead.', E_USER_DEPRECATED);
    }
    elseif ('progress' === $name && $this->helpers[$name] instanceof ProgressHelper) {
      @trigger_error('"Symfony\\Component\\Console\\Helper\\ProgressHelper" is deprecated since version 2.5 and will be removed in 3.0. Use "Symfony\\Component\\Console\\Helper\\ProgressBar" instead.', E_USER_DEPRECATED);
    }
    elseif ('table' === $name && $this->helpers[$name] instanceof TableHelper) {
      @trigger_error('"Symfony\\Component\\Console\\Helper\\TableHelper" is deprecated since version 2.5 and will be removed in 3.0. Use "Symfony\\Component\\Console\\Helper\\Table" instead.', E_USER_DEPRECATED);
    }
    return $this->helpers[$name];
  }

  /**
   * Sets the command associated with this helper set.
   *
   * @param Command $command A Command instance
   */
  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;
  }
  public function getIterator() {
    return new \ArrayIterator($this->helpers);
  }

}

Members

Namesort descending Modifiers Type Description Overrides
HelperSet::$command private property
HelperSet::$helpers private property
HelperSet::get public function Gets a helper value.
HelperSet::getCommand public function Gets the command associated with this helper set.
HelperSet::getIterator public function
HelperSet::has public function Returns true if the helper if defined.
HelperSet::set public function Sets a helper.
HelperSet::setCommand public function Sets the command associated with this helper set.
HelperSet::__construct public function Constructor.