Blame | Letzte Änderung | Log anzeigen | RSS feed
<?php/** This file is part of the Symfony package.** (c) Fabien Potencier <fabien@symfony.com>** For the full copyright and license information, please view the LICENSE* file that was distributed with this source code.*/namespace Symfony\Component\Yaml;use Symfony\Component\Yaml\Exception\ParseException;/*** Yaml offers convenience methods to load and dump YAML.** @author Fabien Potencier <fabien@symfony.com>** @final*/class Yaml{public const DUMP_OBJECT = 1;public const PARSE_EXCEPTION_ON_INVALID_TYPE = 2;public const PARSE_OBJECT = 4;public const PARSE_OBJECT_FOR_MAP = 8;public const DUMP_EXCEPTION_ON_INVALID_TYPE = 16;public const PARSE_DATETIME = 32;public const DUMP_OBJECT_AS_MAP = 64;public const DUMP_MULTI_LINE_LITERAL_BLOCK = 128;public const PARSE_CONSTANT = 256;public const PARSE_CUSTOM_TAGS = 512;public const DUMP_EMPTY_ARRAY_AS_SEQUENCE = 1024;public const DUMP_NULL_AS_TILDE = 2048;/*** Parses a YAML file into a PHP value.** Usage:** $array = Yaml::parseFile('config.yml');* print_r($array);** @param string $filename The path to the YAML file to be parsed* @param int $flags A bit field of PARSE_* constants to customize the YAML parser behavior** @throws ParseException If the file could not be read or the YAML is not valid*/public static function parseFile(string $filename, int $flags = 0): mixed{$yaml = new Parser();return $yaml->parseFile($filename, $flags);}/*** Parses YAML into a PHP value.** Usage:* <code>* $array = Yaml::parse(file_get_contents('config.yml'));* print_r($array);* </code>** @param string $input A string containing YAML* @param int $flags A bit field of PARSE_* constants to customize the YAML parser behavior** @throws ParseException If the YAML is not valid*/public static function parse(string $input, int $flags = 0): mixed{$yaml = new Parser();return $yaml->parse($input, $flags);}/*** Dumps a PHP value to a YAML string.** The dump method, when supplied with an array, will do its best* to convert the array into friendly YAML.** @param mixed $input The PHP value* @param int $inline The level where you switch to inline YAML* @param int $indent The amount of spaces to use for indentation of nested nodes* @param int $flags A bit field of DUMP_* constants to customize the dumped YAML string*/public static function dump(mixed $input, int $inline = 2, int $indent = 4, int $flags = 0): string{$yaml = new Dumper($indent);return $yaml->dump($input, $inline, 0, $flags);}}