1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
|
--TEST--
libxml_get_external_entity_loader() returns current handler
--EXTENSIONS--
libxml
--FILE--
<?php
class Handler {
private $name;
public function __construct($name) {
$this->name = $name;
}
public function handle($public, $system, $context) {
return null;
}
public function __toString() {
return "Handler#{$this->name}";
}
}
var_dump(libxml_get_external_entity_loader());
libxml_set_external_entity_loader([new Handler('A'), 'handle']);
print libxml_get_external_entity_loader()[0] . "\n";
libxml_set_external_entity_loader([new Handler('B'), 'handle']);
print libxml_get_external_entity_loader()[0] . "\n";
libxml_set_external_entity_loader(null);
var_dump(libxml_get_external_entity_loader());
?>
--EXPECT--
NULL
Handler#A
Handler#B
NULL
|