PHP Conference Japan 2024

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|string|null $handler): true

設定一個處理函式,在離開命名空間宣告的範圍時被呼叫。對於每個命名空間宣告,這個函式會在宣告該命名空間的元素結束標籤的處理函式之後被呼叫。

注意

libXML 不支援此事件,因此已註冊的處理函式不會被呼叫。

參數

parser

XML 解析器。

handler

如果傳入 null,則處理函式會被重置為預設狀態。

警告

空字串也會重置處理函式,但從 PHP 8.4.0 開始已被棄用。

如果 handler 是一個 callable,則該 callable 會被設定為處理函式。

如果 handler 是一個 string,它可以是使用 xml_set_object() 設定的物件之方法的名稱。

警告

從 PHP 8.4.0 開始已被棄用。

警告

從 PHP 8.4.0 開始,在設定處理函式時就會檢查 callable 是否有效,而不是在呼叫它時才檢查。這表示必須在將方法字串設定為回呼之前呼叫 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 資源

另請參閱

新增註解

使用者貢獻的註解

此頁面沒有使用者貢獻的註解。
To Top