original_string: 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;
          }
      }
code: 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;
          }
      }
code_tokens: 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 ; } }
docstring: Parses YAML into a PHP array.
  
  The parse method, when supplied with a YAML stream (string or file),
  will do its best to convert YAML in a file into a PHP array.
  
  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 Boolean $exceptionOnInvalidType True if an exception must be thrown on invalid types false otherwise
  @param Boolean $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
  
  @api
docstring_tokens: Parses YAML into a PHP array .