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