Configura manipulador de instruções de processamento (PI)

# xml_set_processing_instruction_handler

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

xml_set_processing_instruction_handler — Configura manipulador de instruções de processamento (PI)

### Descrição

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

Define a função do manipulador de instruções de processamento (PI) para o analisador XML `parser`.

Uma instrução de processamento tem o seguinte formato:

    <?target
    data
    ?>

Cuidado

O código PHP é delimitado pela instrução de processamento `<?php`. Como tal, é possível ter código PHP dentro de um documento XML. No entanto, a tag final PI (`?>`) não deve fazer parte dos dados. Se uma tag final PI existir como parte do código PHP incorporado, o restante do código PHP e a tag final PI "real" serão tratados como dados de caracteres.

### Parâmetros

`parser`
  O analisador XML.
`handler`

  Se `null` for passado, o manipulador é redefinido para seu estado padrão.

  Aviso

  Uma string vazia também redefine o manipulador, entretanto isto foi descontinuado a partir do PHP 8.4.0.

  Se `handler` for um callable, o callable será definido como o manipulador.

  Se `handler` for uma string, ela pode ser o nome de um método de um objeto definido com xml_set_object().

  Aviso

  Isto foi descontinuado a partir do PHP 8.4.0.

  Aviso

  A partir do PHP 8.4.0, a função de retorno é verificada quanto à validade ao configurar o manipulador, e não quando é chamada. Isto significa que xml_set_object() precisa ser chamada antes de configurar uma string de método como a função de retorno. Entretanto, como este comportamento também foi descontinuado a partir do PHP 8.4.0, usar um callable adequado para o método é recomendado.

  A assinatura do manipulador deve ser:

  function handler(XMLParser `$parser`, string `$target`, string `$data`): void
  `parser`
    O analisador XML que chama o manipulador.
  `target`
    O alvo da instrução de processamento.
  `data`
    Os dados da instrução de processamento.

### Valor Retornado

Sempre retorna `true`.

### Registro de Alterações

Versão | Descrição
--- | ---
8.4.0 | Passar uma string não-callable no parâmetro `handler` foi descontinuado, use um chamável apropriado para métodos, ou `null` para redefinir o manipulador.
8.4.0 | A validade do manipulador `handler` como um tipo callable agora é verificada ao configurar o manipulador ao invés de verificar na chamada.
8.0.0 | O parâmetro `parser` agora espera uma instância de XMLParser; anteriormente, um resource `xml` válido era esperado.

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