Verzeichnisstruktur phpBB-3.1.0


Veröffentlicht
27.10.2014

So funktioniert es


Auf das letzte Element klicken. Dies geht jeweils ein Schritt zurück

Auf das Icon klicken, dies öffnet das Verzeichnis. Nochmal klicken schließt das Verzeichnis.
Auf den Verzeichnisnamen klicken, dies zeigt nur das Verzeichnis mit Inhalt an

(Beispiel Datei-Icons)

Auf das Icon klicken um den Quellcode anzuzeigen

VariableNode.php

Zuletzt modifiziert: 09.10.2024, 12:58 - Dateigröße: 2.43 KiB


001  <?php
002   
003  /*
004   * This file is part of the Symfony package.
005   *
006   * (c) Fabien Potencier <fabien@symfony.com>
007   *
008   * For the full copyright and license information, please view the LICENSE
009   * file that was distributed with this source code.
010   */
011   
012  namespace Symfony\Component\Config\Definition;
013   
014  use Symfony\Component\Config\Definition\Exception\InvalidConfigurationException;
015   
016  /**
017   * This node represents a value of variable type in the config tree.
018   *
019   * This node is intended for values of arbitrary type.
020   * Any PHP type is accepted as a value.
021   *
022   * @author Jeremy Mikola <jmikola@gmail.com>
023   */
024  class VariableNode extends BaseNode implements PrototypeNodeInterface
025  {
026      protected $defaultValueSet = false;
027      protected $defaultValue;
028      protected $allowEmptyValue = true;
029   
030      /**
031       * {@inheritdoc}
032       */
033      public function setDefaultValue($value)
034      {
035          $this->defaultValueSet = true;
036          $this->defaultValue = $value;
037      }
038   
039      /**
040       * {@inheritdoc}
041       */
042      public function hasDefaultValue()
043      {
044          return $this->defaultValueSet;
045      }
046   
047      /**
048       * {@inheritdoc}
049       */
050      public function getDefaultValue()
051      {
052          return $this->defaultValue instanceof \Closure ? call_user_func($this->defaultValue) : $this->defaultValue;
053      }
054   
055      /**
056       * Sets if this node is allowed to have an empty value.
057       *
058       * @param bool    $boolean True if this entity will accept empty values.
059       */
060      public function setAllowEmptyValue($boolean)
061      {
062          $this->allowEmptyValue = (bool) $boolean;
063      }
064   
065      /**
066       * {@inheritdoc}
067       */
068      public function setName($name)
069      {
070          $this->name = $name;
071      }
072   
073      /**
074       * {@inheritdoc}
075       */
076      protected function validateType($value)
077      {
078      }
079   
080      /**
081       * {@inheritdoc}
082       */
083      protected function finalizeValue($value)
084      {
085          if (!$this->allowEmptyValue && empty($value)) {
086              $ex = new InvalidConfigurationException(sprintf(
087                  'The path "%s" cannot contain an empty value, but got %s.',
088                  $this->getPath(),
089                  json_encode($value)
090              ));
091              $ex->setPath($this->getPath());
092   
093              throw $ex;
094          }
095   
096          return $value;
097      }
098   
099      /**
100       * {@inheritdoc}
101       */
102      protected function normalizeValue($value)
103      {
104          return $value;
105      }
106   
107      /**
108       * {@inheritdoc}
109       */
110      protected function mergeValues($leftSide, $rightSide)
111      {
112          return $rightSide;
113      }
114  }
115