src/Silex/Provider/YamlConfigServiceProvider.php
protected 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);
        }

        $input = str_replace(
            array_keys($this->_vars), array_values($this->_vars), $input
        );

        $yaml = new Parser();

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

            throw $e;
        }
    }
protected 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);
        }

        $input = str_replace(
            array_keys($this->_vars), array_values($this->_vars), $input
        );

        $yaml = new Parser();

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

            throw $e;
        }
    }
Parses YAML into a PHP array.

@param string $input                  Path to file or 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 array The YAML converted to a PHP array

@throws ParseException If the YAML is not valid