44 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			44 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| 
 | |
| namespace Safe;
 | |
| 
 | |
| use Safe\Exceptions\LibxmlException;
 | |
| 
 | |
| /**
 | |
|  * Retrieve last error from libxml.
 | |
|  *
 | |
|  * @return \LibXMLError Returns a LibXMLError object if there is any error in the
 | |
|  * buffer, FALSE otherwise.
 | |
|  * @throws LibxmlException
 | |
|  *
 | |
|  */
 | |
| function libxml_get_last_error(): \LibXMLError
 | |
| {
 | |
|     error_clear_last();
 | |
|     $result = \libxml_get_last_error();
 | |
|     if ($result === false) {
 | |
|         throw LibxmlException::createFromPhpError();
 | |
|     }
 | |
|     return $result;
 | |
| }
 | |
| 
 | |
| 
 | |
| /**
 | |
|  * Changes the default external entity loader.
 | |
|  *
 | |
|  * @param callable $resolver_function A callable that takes three arguments. Two strings, a public id
 | |
|  * and system id, and a context (an array with four keys) as the third argument.
 | |
|  * This callback should return a resource, a string from which a resource can be
 | |
|  * opened, or NULL.
 | |
|  * @throws LibxmlException
 | |
|  *
 | |
|  */
 | |
| function libxml_set_external_entity_loader(callable $resolver_function): void
 | |
| {
 | |
|     error_clear_last();
 | |
|     $result = \libxml_set_external_entity_loader($resolver_function);
 | |
|     if ($result === false) {
 | |
|         throw LibxmlException::createFromPhpError();
 | |
|     }
 | |
| }
 |