98 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			98 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| 
 | |
| namespace Safe;
 | |
| 
 | |
| use Safe\Exceptions\YamlException;
 | |
| 
 | |
| /**
 | |
|  * Convert all or part of a YAML document stream read from a file to a PHP variable.
 | |
|  *
 | |
|  * @param string $filename Path to the file.
 | |
|  * @param int $pos Document to extract from stream (-1 for all
 | |
|  * documents, 0 for first document, ...).
 | |
|  * @param int|null $ndocs If ndocs is provided, then it is filled with the
 | |
|  * number of documents found in stream.
 | |
|  * @param array $callbacks Content handlers for YAML nodes. Associative array of YAML
 | |
|  * tag => callable mappings. See
 | |
|  * parse callbacks for more
 | |
|  * details.
 | |
|  * @return mixed Returns the value encoded in input in appropriate
 | |
|  * PHP type. If pos is -1 an
 | |
|  * array will be returned with one entry for each document found
 | |
|  * in the stream.
 | |
|  * @throws YamlException
 | |
|  *
 | |
|  */
 | |
| function yaml_parse_file(string $filename, int $pos = 0, ?int &$ndocs = null, array $callbacks = null)
 | |
| {
 | |
|     error_clear_last();
 | |
|     $result = \yaml_parse_file($filename, $pos, $ndocs, $callbacks);
 | |
|     if ($result === false) {
 | |
|         throw YamlException::createFromPhpError();
 | |
|     }
 | |
|     return $result;
 | |
| }
 | |
| 
 | |
| 
 | |
| /**
 | |
|  * Convert all or part of a YAML document stream read from a URL to a PHP variable.
 | |
|  *
 | |
|  * @param string $url url should be of the form "scheme://...". PHP
 | |
|  * will search for a protocol handler (also known as a wrapper) for that
 | |
|  * scheme. If no wrappers for that protocol are registered, PHP will emit
 | |
|  * a notice to help you track potential problems in your script and then
 | |
|  * continue as though filename specifies a regular file.
 | |
|  * @param int $pos Document to extract from stream (-1 for all
 | |
|  * documents, 0 for first document, ...).
 | |
|  * @param int|null $ndocs If ndocs is provided, then it is filled with the
 | |
|  * number of documents found in stream.
 | |
|  * @param array $callbacks Content handlers for YAML nodes. Associative array of YAML
 | |
|  * tag => callable mappings. See
 | |
|  * parse callbacks for more
 | |
|  * @return mixed Returns the value encoded in input in appropriate
 | |
|  * PHP type. If pos is
 | |
|  * -1 an array will be returned with one entry
 | |
|  * for each document found in the stream.
 | |
|  * @throws YamlException
 | |
|  *
 | |
|  */
 | |
| function yaml_parse_url(string $url, int $pos = 0, ?int &$ndocs = null, array $callbacks = null)
 | |
| {
 | |
|     error_clear_last();
 | |
|     $result = \yaml_parse_url($url, $pos, $ndocs, $callbacks);
 | |
|     if ($result === false) {
 | |
|         throw YamlException::createFromPhpError();
 | |
|     }
 | |
|     return $result;
 | |
| }
 | |
| 
 | |
| 
 | |
| /**
 | |
|  * Convert all or part of a YAML document stream to a PHP variable.
 | |
|  *
 | |
|  * @param string $input The string to parse as a YAML document stream.
 | |
|  * @param int $pos Document to extract from stream (-1 for all
 | |
|  * documents, 0 for first document, ...).
 | |
|  * @param int|null $ndocs If ndocs is provided, then it is filled with the
 | |
|  * number of documents found in stream.
 | |
|  * @param array $callbacks Content handlers for YAML nodes. Associative array of YAML
 | |
|  * tag => callable mappings. See
 | |
|  * parse callbacks for more
 | |
|  * details.
 | |
|  * @return mixed Returns the value encoded in input in appropriate
 | |
|  * PHP type. If pos is -1 an
 | |
|  * array will be returned with one entry for each document found
 | |
|  * in the stream.
 | |
|  * @throws YamlException
 | |
|  *
 | |
|  */
 | |
| function yaml_parse(string $input, int $pos = 0, ?int &$ndocs = null, array $callbacks = null)
 | |
| {
 | |
|     error_clear_last();
 | |
|     $result = \yaml_parse($input, $pos, $ndocs, $callbacks);
 | |
|     if ($result === false) {
 | |
|         throw YamlException::createFromPhpError();
 | |
|     }
 | |
|     return $result;
 | |
| }
 |