[ Index ]

PHP Cross Reference of phpBB-3.3.14-deutsch

title

Body

[close]

/vendor/symfony/config/Definition/ -> NumericNode.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\Config\Definition;
  13  
  14  use Symfony\Component\Config\Definition\Exception\InvalidConfigurationException;
  15  
  16  /**
  17   * This node represents a numeric value in the config tree.
  18   *
  19   * @author David Jeanmonod <david.jeanmonod@gmail.com>
  20   */
  21  class NumericNode extends ScalarNode
  22  {
  23      protected $min;
  24      protected $max;
  25  
  26      public function __construct($name, NodeInterface $parent = null, $min = null, $max = null)
  27      {
  28          parent::__construct($name, $parent);
  29          $this->min = $min;
  30          $this->max = $max;
  31      }
  32  
  33      /**
  34       * {@inheritdoc}
  35       */
  36      protected function finalizeValue($value)
  37      {
  38          $value = parent::finalizeValue($value);
  39  
  40          $errorMsg = null;
  41          if (isset($this->min) && $value < $this->min) {
  42              $errorMsg = sprintf('The value %s is too small for path "%s". Should be greater than or equal to %s', $value, $this->getPath(), $this->min);
  43          }
  44          if (isset($this->max) && $value > $this->max) {
  45              $errorMsg = sprintf('The value %s is too big for path "%s". Should be less than or equal to %s', $value, $this->getPath(), $this->max);
  46          }
  47          if (isset($errorMsg)) {
  48              $ex = new InvalidConfigurationException($errorMsg);
  49              $ex->setPath($this->getPath());
  50              throw $ex;
  51          }
  52  
  53          return $value;
  54      }
  55  
  56      /**
  57       * {@inheritdoc}
  58       */
  59      protected function isValueEmpty($value)
  60      {
  61          // a numeric value cannot be empty
  62          return false;
  63      }
  64  }


Generated: Mon Nov 25 19:05:08 2024 Cross-referenced by PHPXref 0.7.1