You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
44 lines
1.1 KiB
PHTML
44 lines
1.1 KiB
PHTML
4 years ago
|
<?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();
|
||
|
}
|
||
|
}
|