Documentación offline PHP master

xml_set_processing_instruction_handler

master Ver versión oficial en línea Licencia CC-BY-3.0Descargado el 2026-08-02

En esta página

xml_set_processing_instruction_handler

Establece los gestores de instrucciones de procesamiento

Descripción#

xml_set_processing_instruction_handler(XMLParser $parser, callable $handler): true
```php

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

Una instrucción de procesamiento tiene la siguiente forma:
> [!CAUTION]
> 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 predeterminado.

> [!WARNING]
> 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`.

> [!WARNING]
> Esta funcionalidad está deprecada a partir de PHP 8.4.0.

> [!WARNING]
> 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:

```php
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 valor no callable de tipo string 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 ; anteriormente, se esperaba un recurso xml de tipo resource válido.