(PHP 4, PHP 5, PHP 7, PHP 8)
xml_set_external_entity_ref_handler — Configura manipulador de referência de entidade externa
Define a função do manipulador de referência de entidade externa para o analisador XML
parser.
parserO analisador XML.
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:
$parser,$open_entity_names,$base,$system_id,$public_idparseropen_entity_namesbasesystem_id) da entidade externa.
system_idpublic_id
O manipulador deve retornar true se a entidade foi manipulada,
false caso contrário.
Ao retornar false o analisador XML interromperá a análise e
xml_get_error_code() retornará
XML_ERROR_EXTERNAL_ENTITY_HANDLING.
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.
|
| 7.3.0 |
O valor de retorno do handler não é mais
ignorado se a extensão tiver sido construída com base em libxml. Anteriormente, o valor
de retorno era ignorado e a análise nunca parava.
|