(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
.
parser
O 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. Entretando, 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_id
parser
open_entity_names
base
system_id
) da entidade externa.
system_id
public_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.
|