Affecte les gestionnaires de début et de fin de balise XML

# xml_set_element_handler

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

xml_set_element_handler — Affecte les gestionnaires de début et de fin de balise XML

### Description

function xml_set_element_handler(XMLParser `$parser`, callable|string|null `$start_handler`, callable|string|null `$end_handler`): true

Affecte les gestionnaires de début et de fin de l'analyseur XML `parser`.

`start_handler` est appelé quand un nouvel élément XML est ouvert. `end_handler` est appelé quand un élément XML est fermé.

### Liste de paramètres

`parser`
  Le parseur XML.
`start_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 :

  function start_element_handler(XMLParser `$parser`, string `$name`, array `$attributes`): void
  `parser`
    Le parseur XML appelant le gestionnaire.
  `name`
    Contient le nom de l'élément qui a provoqué l'appel du gestionnaire. Si l'analyseur gère la casse, cet élément sera en majuscules.
  `attributes`
    Un tableau associatif avec les attributs de l'élément. Le tableau est vide s'il n'y a pas d'attributs. Les clés de ce tableau seront les noms des attributs, et les valeurs seront les valeurs correspondantes des attributs. Les noms des attributs seront mis en majuscules si l'analyseur gère la casse. Les valeurs des attributs seront inchangées. L'ordre dans lequel `attributes` est traversé est identique à l'ordre dans lequel les attributs ont été déclarés.
`end_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 :

  function end_element_handler(XMLParser `$parser`, string `$name`): void
  `parser`
    Le parseur XML appelant le gestionnaire.
  `name`
    Contient le nom de l'élément qui a provoqué l'appel du gestionnaire. Si l'analyseur gère la casse, cet élément sera en majuscules.

### 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.

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open