(PHP 4, PHP 5, PHP 7, PHP 8)
xml_set_element_handler — Configura manipuladores de elementos de início e fim
$parser, callable|string|null $start_handler, callable|string|null $end_handler): true
Define as funções do manipulador de elementos para o parser XML.
start_handler é chamado quando um novo elemento XML é
aberto. end_handler é chamado quando um elemento XML
é fechado.
parserO analisador XML.
start_handler
Se null for passado, o manipulador é redefinido para seu estado padrão.
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().
Isto foi descontinuado a partir do PHP 8.4.0.
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:
parserO analisador XML que chama o manipulador.
nameContém o nome do elemento para o qual este manipulador é chamado. Se case-folding estiver em vigor para este analisador, o nome do elemento estará em letras maiúsculas.
attributesUm array associativo com os atributos do elemento. O array estará vazio se o elemento não tiver atributos. As chaves deste array são os nomes dos atributos, os valores são os valores dos atributos. Os nomes dos atributos são convertidos para minúsculo nos mesmos critérios que os nomes dos elementos. Os valores dos atributos não são convertidos para minúsculo.
A ordem em que attributes é percorrida
é idêntica à ordem em que os atributos foram declarados.
end_handler
Se null for passado, o manipulador é redefinido para seu estado padrão.
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().
Isto foi descontinuado a partir do PHP 8.4.0.
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:
parserO analisador XML que chama o manipulador.
nameContém o nome do elemento para o qual este manipulador é chamado. Se case-folding estiver em vigor para este analisador, o nome do elemento estará em letras maiúsculas.
Sempre retorna true.
| 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.
|