PHP 8.5.0 Alpha 1 available for testing

xml_set_external_entity_ref_handler

(PHP 4, PHP 5, PHP 7, PHP 8)

xml_set_external_entity_ref_handlerConfigura el gestor XML de referencias externas

Descripción

xml_set_external_entity_ref_handler(XMLParser $parser, callable|string|null $handler): true

Establece el gestor de entidad externa del analizador XML parser.

Parámetros

parser

The XML parser.

handler

If null is passed, the handler is reset to its default state.

Advertencia

An empty string will also reset the handler, however this is deprecated as of PHP 8.4.0.

If handler is a callable, the callable is set as the handler.

If handler is a string, it can be the name of a method of an object set with xml_set_object().

Advertencia

This is deprecated as of PHP 8.4.0.

Advertencia

As of PHP 8.4.0, the callable is checked to be valid while setting the handler, not when it is called. This means that xml_set_object() must be called prior to setting a method string as the callback. However, as this behaviour is also deprecated as of PHP 8.4.0, using a proper callable for the method is recommended instead.

La firma del gestor debe ser:

handler(
    XMLParser $parser,
    string $open_entity_names,
    string|false $base,
    string $system_id,
    string|false $public_id
): bool
parser
The XML parser calling the handler.
open_entity_names
La lista de nombres de entidades, separados por espacios. Estas entidades son accesibles al análisis por esta entidad (incluyendo el nombre de la entidad referenciada).
base
La raíz para la resolución del identificador de sistema (system_id) de la entidad externa.
system_id
El identificador de sistema tal como se especifica en la declaración de entidad.
public_id
El identificador público tal como se especifica en la declaración de entidad, o una cadena vacía, si no se ha especificado ninguna declaración. El espacio en el identificador público será normalizado como se especifica en las especificaciones XML.

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.

Valores devueltos

Siempre devuelve true.

Historial de cambios

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 expects an XMLParser instance now; previously, a valid xml resource was expected.
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.
add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top