(PHP 4, PHP 5, PHP 7, PHP 8)
xml_set_external_entity_ref_handler — Configura el gestor XML de referencias externas
Establece el gestor de entidad externa del analizador XML
parser
.
parser
El analizador XML.
handler
Si null
se pasa, el controlador se reinicia a su estado por omisión.
Una cadena vacía también reiniciará el controlador, sin embargo esta funcionalidad está deprecada a partir de PHP 8.4.0.
Si handler
es un callable,
el callable se define como el controlador.
Si handler
es una string,
puede ser el nombre de un método de un objeto definido con
xml_set_object().
Esta funcionalidad está deprecada a partir de PHP 8.4.0.
A partir de PHP 8.4.0, se verifica la validez del callable durante la configuración del controlador, y no en el momento de su llamada. Esto significa que xml_set_object() debe ser llamado antes de definir un método como cadena como devolución de llamada. Sin embargo, como este comportamiento también está deprecado a partir de PHP 8.4.0, se recomienda utilizar un callable adecuado para el método.
La firma del gestor debe ser:
$parser
,$open_entity_names
,$base
,$system_id
,$public_id
parser
open_entity_names
base
system_id
) de la entidad externa.
system_id
public_id
El gestor debería devolver true
si la entidad ha sido gestionada,
de lo contrario false
.
Cuando se devuelve false
el analizador XML detendrá el análisis y
xml_get_error_code() devolverá
XML_ERROR_EXTERNAL_ENTITY_HANDLING
.
Retorna siempre true
.
Versión | Descripción |
---|---|
8.4.0 |
Passing a non-callable string to
handler is now deprecated,
use a proper callable for methods, or null to reset the handler.
|
8.4.0 |
The validity of handler as a callable
is now checked when setting the handler instead of checking when calling it.
|
8.0.0 |
parser ahora espera una instancia de XMLParser
en lugar de un resource xml .
|
7.3.0 |
El valor de retorno de handler ya no es
ignorado cuando la extensión ha sido compilada contra libxml. Anteriormente,
el valor de retorno era ignorado y el análisis nunca se detenía.
|