Вход Регистрация
Файл: forsoc.ru/vendor/symfony/yaml/Symfony/Component/Yaml/Yaml.php
Строк: 156
<?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 SymfonyComponentYaml;

use 
SymfonyComponentYamlExceptionParseException;

/**
 * Yaml offers convenience methods to load and dump YAML.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 */
class Yaml
{
    
/**
     * Parses YAML into a PHP value.
     *
     *  Usage:
     *  <code>
     *   $array = Yaml::parse('config.yml');
     *   print_r($array);
     *  </code>
     *
     * As this method accepts both plain strings and file names as an input,
     * you must validate the input before calling this method. Passing a file
     * as an input is a deprecated feature and will be removed in 3.0.
     *
     * @param string $input                  Path to a YAML file or a string containing YAML
     * @param bool   $exceptionOnInvalidType True if an exception must be thrown on invalid types false otherwise
     * @param bool   $objectSupport          True if object support is enabled, false otherwise
     *
     * @return mixed The YAML converted to a PHP value
     *
     * @throws ParseException If the YAML is not valid
     */
    
public static function parse($input$exceptionOnInvalidType false$objectSupport false)
    {
        
// if input is a file, process it
        
$file '';
        if (
strpos($input"n") === false && is_file($input)) {
            if (
false === is_readable($input)) {
                throw new 
ParseException(sprintf('Unable to parse "%s" as the file is not readable.'$input));
            }

            
$file $input;
            
$input file_get_contents($file);
        }

        
$yaml = new Parser();

        try {
            return 
$yaml->parse($input$exceptionOnInvalidType$objectSupport);
        } catch (
ParseException $e) {
            if (
$file) {
                
$e->setParsedFile($file);
            }

            throw 
$e;
        }
    }

    
/**
     * Dumps a PHP array to a YAML string.
     *
     * The dump method, when supplied with an array, will do its best
     * to convert the array into friendly YAML.
     *
     * @param array $array                  PHP array
     * @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 bool  $exceptionOnInvalidType true if an exception must be thrown on invalid types (a PHP resource or object), false otherwise
     * @param bool  $objectSupport          true if object support is enabled, false otherwise
     *
     * @return string A YAML string representing the original PHP array
     */
    
public static function dump($array$inline 2$indent 4$exceptionOnInvalidType false$objectSupport false)
    {
        if (
$indent 1) {
            throw new 
InvalidArgumentException('The indentation must be greater than zero.');
        }

        
$yaml = new Dumper();
        
$yaml->setIndentation($indent);

        return 
$yaml->dump($array$inline0$exceptionOnInvalidType$objectSupport);
    }
}
Онлайн: 3
Реклама