Establece los gestores de instrucciones de procesamiento

# xml_set_processing_instruction_handler

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

xml_set_processing_instruction_handler — Establece los gestores de instrucciones de procesamiento

### Descripción

function xml_set_processing_instruction_handler(XMLParser `$parser`, callable|string|null `$handler`): true

Establece el gestor de instrucciones ejecutables del analizador XML `parser`.

Una instrucción de procesamiento tiene la siguiente forma:

    <?target
    data
    ?>

Precaución

El código PHP está delimitado por la instrucción de procesamiento `<?php`. Por lo tanto, es posible tener código PHP en un documento XML. Sin embargo, la etiqueta de cierre de la instrucción de procesamiento (`?>`) no debe formar parte de los datos. Si existe una etiqueta de cierre de la instrucción de procesamiento en el código PHP anidado, el resto del código PHP y la etiqueta de cierre "real" de la instrucción de procesamiento serán tratados como datos de texto.

### Parámetros

`parser`
  El analizador XML.
`handler`

  Si `null` se pasa, el controlador se reinicia a su estado por omisión.

  Advertencia

  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().

  Advertencia

  Esta funcionalidad está deprecada a partir de PHP 8.4.0.

  Advertencia

  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:

  function handler(XMLParser `$parser`, string `$target`, string `$data`): void
  `parser`
    El analizador XML que llama al controlador.
  `target`
    El objetivo de la instrucción de procesamiento.
  `data`
    Los datos de la instrucción de procesamiento.

### Valores devueltos

Retorna siempre `true`.

### Historial de cambios

Versión | Descripción
--- | ---
8.4.0 | Pasar un string no callable a `handler` ahora está obsoleto; utilice un callable apropiado para los métodos, o `null` para reinicializar el gestor.
8.4.0 | La validez de `handler` como callable ahora se verifica al definir el gestor en lugar de verificarse al invocarlo.
8.0.0 | `parser` ahora espera una instancia de XMLParser en lugar de un resource `xml`.

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