PHP 8.4.1 Released!

xml_set_external_entity_ref_handler

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

xml_set_external_entity_ref_handlerConfigure le gestionnaire XML de références externes

Description

xml_set_external_entity_ref_handler(XMLParser $parser, callable $handler): true

Affecte le gestionnaire d'entité externe de l'analyseur XML parser.

Liste de paramètres

parser

Le parseur XML.

handler

Si null est passé, le gestionnaire est réinitialisé à son état par défaut.

Avertissement

Une chaîne vide réinitialisera également le gestionnaire, cependant cette fonctionnalité est dépréciée à partir de PHP 8.4.0.

Si handler est un callable, l'appelable est défini comme le gestionnaire.

Si handler est une string, il peut s'agir du nom d'une méthode d'un objet défini avec xml_set_object().

Avertissement

Cette fonctionnalité est dépréciée à partir de PHP 8.4.0.

Avertissement

À partir de PHP 8.4.0, la validité du callable est vérifiée lors de la configuration du gestionnaire, et non au moment de son appel. Cela signifie que xml_set_object() doit être appelé avant de définir une méthode sous forme de chaîne comme rappel. Cependant, comme ce comportement est également déprécié à partir de PHP 8.4.0, il est recommandé d'utiliser un callable approprié pour la méthode.

La signature du gestionnaire doit être :

handler(
    XMLParser $parser,
    string $open_entity_names,
    string|false $base,
    string $system_id,
    string|false $public_id
): bool
parser
Le parseur XML appelant le gestionnaire.
open_entity_names
La liste de noms d'entités, séparés par des espaces. Ces entités sont accessibles à l'analyse par cette entité (y compris le nom de l'entité référencée).
base
La racine pour la résolution de l'identifiant système (system_id) de l'entité externe.
system_id
L'identifiant système tel que spécifié dans la déclaration d'entité
public_id
L'identifiant public tel que spécifié dans la déclaration d'entité, ou une chaîne vide, si aucune déclaration n'a été spécifiée. L'espace dans l'identifiant public sera normalisé comme spécifié dans les spécifications XML.

Le gestionnaire devrait retourner true si l'entité a été géré, sinon false. Quand false est retourné l'analyseur XML arrêtera l'analyse et xml_get_error_code() retournera XML_ERROR_EXTERNAL_ENTITY_HANDLING.

Valeurs de retour

Retourne toujours true.

Historique

Version Description
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 attend une instance de XMLParser désormais; auparavent, une resource xml était attendue.
7.3.0 La valeur de retour de handler n'est désormais plus ignoré quand l'extension a été compilé contre libxml. Auparavant, la valeur de retour était ignoré et l'analyse ne s'arrêtait jamais.
add a note

User Contributed Notes

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