[ Index ]

PHP Cross Reference of phpBB-3.3.10-deutsch

title

Body

[close]

/vendor/symfony/yaml/ -> Yaml.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\Yaml;
  13  
  14  use Symfony\Component\Yaml\Exception\ParseException;
  15  
  16  /**
  17   * Yaml offers convenience methods to load and dump YAML.
  18   *
  19   * @author Fabien Potencier <fabien@symfony.com>
  20   *
  21   * @final since version 3.4
  22   */
  23  class Yaml
  24  {
  25      const DUMP_OBJECT = 1;
  26      const PARSE_EXCEPTION_ON_INVALID_TYPE = 2;
  27      const PARSE_OBJECT = 4;
  28      const PARSE_OBJECT_FOR_MAP = 8;
  29      const DUMP_EXCEPTION_ON_INVALID_TYPE = 16;
  30      const PARSE_DATETIME = 32;
  31      const DUMP_OBJECT_AS_MAP = 64;
  32      const DUMP_MULTI_LINE_LITERAL_BLOCK = 128;
  33      const PARSE_CONSTANT = 256;
  34      const PARSE_CUSTOM_TAGS = 512;
  35      const DUMP_EMPTY_ARRAY_AS_SEQUENCE = 1024;
  36  
  37      /**
  38       * @deprecated since version 3.4, to be removed in 4.0. Quote your evaluable keys instead.
  39       */
  40      const PARSE_KEYS_AS_STRINGS = 2048;
  41  
  42      /**
  43       * Parses a YAML file into a PHP value.
  44       *
  45       * Usage:
  46       *
  47       *     $array = Yaml::parseFile('config.yml');
  48       *     print_r($array);
  49       *
  50       * @param string $filename The path to the YAML file to be parsed
  51       * @param int    $flags    A bit field of PARSE_* constants to customize the YAML parser behavior
  52       *
  53       * @return mixed The YAML converted to a PHP value
  54       *
  55       * @throws ParseException If the file could not be read or the YAML is not valid
  56       */
  57      public static function parseFile($filename, $flags = 0)
  58      {
  59          $yaml = new Parser();
  60  
  61          return $yaml->parseFile($filename, $flags);
  62      }
  63  
  64      /**
  65       * Parses YAML into a PHP value.
  66       *
  67       *  Usage:
  68       *  <code>
  69       *   $array = Yaml::parse(file_get_contents('config.yml'));
  70       *   print_r($array);
  71       *  </code>
  72       *
  73       * @param string $input A string containing YAML
  74       * @param int    $flags A bit field of PARSE_* constants to customize the YAML parser behavior
  75       *
  76       * @return mixed The YAML converted to a PHP value
  77       *
  78       * @throws ParseException If the YAML is not valid
  79       */
  80      public static function parse($input, $flags = 0)
  81      {
  82          if (\is_bool($flags)) {
  83              @trigger_error('Passing a boolean flag to toggle exception handling is deprecated since Symfony 3.1 and will be removed in 4.0. Use the PARSE_EXCEPTION_ON_INVALID_TYPE flag instead.', \E_USER_DEPRECATED);
  84  
  85              if ($flags) {
  86                  $flags = self::PARSE_EXCEPTION_ON_INVALID_TYPE;
  87              } else {
  88                  $flags = 0;
  89              }
  90          }
  91  
  92          if (\func_num_args() >= 3) {
  93              @trigger_error('Passing a boolean flag to toggle object support is deprecated since Symfony 3.1 and will be removed in 4.0. Use the PARSE_OBJECT flag instead.', \E_USER_DEPRECATED);
  94  
  95              if (func_get_arg(2)) {
  96                  $flags |= self::PARSE_OBJECT;
  97              }
  98          }
  99  
 100          if (\func_num_args() >= 4) {
 101              @trigger_error('Passing a boolean flag to toggle object for map support is deprecated since Symfony 3.1 and will be removed in 4.0. Use the Yaml::PARSE_OBJECT_FOR_MAP flag instead.', \E_USER_DEPRECATED);
 102  
 103              if (func_get_arg(3)) {
 104                  $flags |= self::PARSE_OBJECT_FOR_MAP;
 105              }
 106          }
 107  
 108          $yaml = new Parser();
 109  
 110          return $yaml->parse($input, $flags);
 111      }
 112  
 113      /**
 114       * Dumps a PHP value to a YAML string.
 115       *
 116       * The dump method, when supplied with an array, will do its best
 117       * to convert the array into friendly YAML.
 118       *
 119       * @param mixed $input  The PHP value
 120       * @param int   $inline The level where you switch to inline YAML
 121       * @param int   $indent The amount of spaces to use for indentation of nested nodes
 122       * @param int   $flags  A bit field of DUMP_* constants to customize the dumped YAML string
 123       *
 124       * @return string A YAML string representing the original PHP value
 125       */
 126      public static function dump($input, $inline = 2, $indent = 4, $flags = 0)
 127      {
 128          if (\is_bool($flags)) {
 129              @trigger_error('Passing a boolean flag to toggle exception handling is deprecated since Symfony 3.1 and will be removed in 4.0. Use the DUMP_EXCEPTION_ON_INVALID_TYPE flag instead.', \E_USER_DEPRECATED);
 130  
 131              if ($flags) {
 132                  $flags = self::DUMP_EXCEPTION_ON_INVALID_TYPE;
 133              } else {
 134                  $flags = 0;
 135              }
 136          }
 137  
 138          if (\func_num_args() >= 5) {
 139              @trigger_error('Passing a boolean flag to toggle object support is deprecated since Symfony 3.1 and will be removed in 4.0. Use the DUMP_OBJECT flag instead.', \E_USER_DEPRECATED);
 140  
 141              if (func_get_arg(4)) {
 142                  $flags |= self::DUMP_OBJECT;
 143              }
 144          }
 145  
 146          $yaml = new Dumper($indent);
 147  
 148          return $yaml->dump($input, $inline, 0, $flags);
 149      }
 150  }


Generated: Wed Feb 22 20:16:20 2023 Cross-referenced by PHPXref 0.7.1