phpday 2025 - Call For Papers

xml_set_end_namespace_decl_handler

(PHP 4 >= 4.0.5, PHP 5, PHP 7, PHP 8)

xml_set_end_namespace_decl_handler设置终止命名空间声明处理程序

说明

xml_set_end_namespace_decl_handler(XMLParser $parser, callable $handler): true

设置离开命名空间声明作用域时要调用的处理程序。对于每个命名空间声明,这将在声明命名空间的元素的结束标记的处理程序之后调用。

警告

libXML 不支持此事件,因此不会调用已注册的处理程序。

参数

parser

XML 解析器。

handler

如果传递 null,处理程序将重置为其默认状态。

警告

空字符串也可以重置处理程序,然而自 PHP 8.4.0 起已弃用。

如果 handlercallable,设置的 callable 将作为处理程序。

如果 handlerstring,它可以是 xml_set_object() 设置的对象的方法名称。

警告

自 PHP 8.4.0 起弃用。

警告

自 PHP 8.4.0 起,在设置处理程序时会检测 callable 是否有效,而不是在调用时检测。这意味着在将字符串方法名设置为 callback 之前必须调用 xml_set_object()。然而,由于此行为自 PHP 8.4.0 起也已弃用,因此建议为该方法使用适当的callable

处理程序的签名必须是:

handler(XMLParser $parser, string|false $prefix)
parser
XML 解析器调用的处理程序。
prefix
前缀是一个字符串,用于引用 XML 对象中的命名空间。如果不存在前缀,则为 false

返回值

总是返回 true

更新日志

版本 说明
8.4.0 现已弃用传递非 callablestringhandler,为方法使用适当的 callable 或者使用 null 来重置处理程序。
8.4.0 现在设置处理程序时会检测 handler 作为 callable 的有效性,而不是在调用时检测。
8.0.0 parser 现在接受 XMLParser 实例;之前接受有效的 xml resource

参见

添加备注

用户贡献的备注

此页面尚无用户贡献的备注。
To Top