名前空間終了ハンドラを設定する

# xml_set_end_namespace_decl_handler

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

xml_set_end_namespace_decl_handler — 名前空間終了ハンドラを設定する

### 説明

function 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` が文字列の場合、xml_set_object() で設定されたオブジェクトのメソッド名になります。

  警告

  PHP 8.4.0 以降、非推奨となっています。

  警告

  PHP 8.4.0 以降では、実際に呼び出されるときではなく、ハンドラを設定する際に callable であるかがチェックされます。 従って、コールバックとしてメソッド文字列を指定する場合、それより前に、 xml_set_object() を呼び出しておく必要があります。 しかし、この動作も PHP 8.4.0 以降非推奨となっているため、メソッドには適切な callable を使用することが推奨されます。

  `handler` のシグネチャは、以下でなければいけません:

  function handler(XMLParser `$parser`, string|false `$prefix`)
  `parser`
    ハンドラをコールするXMLパーサー
  `prefix`
    XML オブジェクト内の名前空間を参照する際に使う文字列。 prefix が存在しない場合は、`false` になります。

### 戻り値

常に `true` を返します。

### 変更履歴

バージョン | 説明
--- | ---
8.4.0 | 非 callable な string を `handler` に渡すことは、現在非推奨となっています。 メソッドには適切な callable を使用するか、ハンドラをリセットする場合は `null` を使用してください。
8.4.0 | `handler` が callable として有効であるかどうかは、 呼び出し時ではなく、ハンドラーを設定する際にチェックされるようになりました。
8.0.0 | 引数 `parser` は、 XMLParser インスタンスを期待するようになりました。 これより前のバージョンでは、有効な `xml` resource が期待されていました。

### 参考

- xml_set_start_namespace_decl_handler() - 名前空間開始ハンドラを設定する

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open