[ Index ]

PHP Cross Reference of phpBB-3.1.12-deutsch

title

Body

[close]

/vendor/symfony/console/Symfony/Component/Console/Helper/ -> FormatterHelper.php (source)

   1  <?php
   2  
   3  /*
   4   * This file is part of the Symfony package.
   5   *
   6   * (c) Fabien Potencier <fabien@symfony.com>
   7   *
   8   * For the full copyright and license information, please view the LICENSE
   9   * file that was distributed with this source code.
  10   */
  11  
  12  namespace Symfony\Component\Console\Helper;
  13  
  14  use Symfony\Component\Console\Formatter\OutputFormatter;
  15  
  16  /**
  17   * The Formatter class provides helpers to format messages.
  18   *
  19   * @author Fabien Potencier <fabien@symfony.com>
  20   */
  21  class FormatterHelper extends Helper
  22  {
  23      /**
  24       * Formats a message within a section.
  25       *
  26       * @param string $section The section name
  27       * @param string $message The message
  28       * @param string $style   The style to apply to the section
  29       *
  30       * @return string The format section
  31       */
  32      public function formatSection($section, $message, $style = 'info')
  33      {
  34          return sprintf('<%s>[%s]</%s> %s', $style, $section, $style, $message);
  35      }
  36  
  37      /**
  38       * Formats a message as a block of text.
  39       *
  40       * @param string|array $messages The message to write in the block
  41       * @param string       $style    The style to apply to the whole block
  42       * @param bool         $large    Whether to return a large block
  43       *
  44       * @return string The formatter message
  45       */
  46      public function formatBlock($messages, $style, $large = false)
  47      {
  48          if (!is_array($messages)) {
  49              $messages = array($messages);
  50          }
  51  
  52          $len = 0;
  53          $lines = array();
  54          foreach ($messages as $message) {
  55              $message = OutputFormatter::escape($message);
  56              $lines[] = sprintf($large ? '  %s  ' : ' %s ', $message);
  57              $len = max($this->strlen($message) + ($large ? 4 : 2), $len);
  58          }
  59  
  60          $messages = $large ? array(str_repeat(' ', $len)) : array();
  61          for ($i = 0; isset($lines[$i]); ++$i) {
  62              $messages[] = $lines[$i].str_repeat(' ', $len - $this->strlen($lines[$i]));
  63          }
  64          if ($large) {
  65              $messages[] = str_repeat(' ', $len);
  66          }
  67  
  68          for ($i = 0; isset($messages[$i]); ++$i) {
  69              $messages[$i] = sprintf('<%s>%s</%s>', $style, $messages[$i], $style);
  70          }
  71  
  72          return implode("\n", $messages);
  73      }
  74  
  75      /**
  76       * {@inheritdoc}
  77       */
  78      public function getName()
  79      {
  80          return 'formatter';
  81      }
  82  }


Generated: Thu Jan 11 00:25:41 2018 Cross-referenced by PHPXref 0.7.1