【PHP8.x】DOMProcessingInstruction::isSupported()メソッドの使い方
isSupportedメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
isSupportedメソッドは、特定のDOM機能がその処理命令ノードでサポートされているかどうかを判定するために使用されるメソッドです。このメソッドは、親クラスであるDOMNodeから継承されています。第一引数に機能名、第二引数にそのバージョン番号を文字列で指定することで、その機能が現在のDOM実装で利用可能かを確認します。例えば、"XML"という機能のバージョン"1.0"がサポートされているかをチェックする場合などに用います。理論上は、機能がサポートされていればtrueを、されていなければfalseを返します。しかし、PHPのDOM拡張機能における重要な注意点として、このメソッドは引数の内容に関わらず常にfalseを返す仕様になっています。これは、PHPのDOM実装がW3Cの仕様に完全準拠しているわけではなく、内部的にlibxml2ライブラリに基づいているためです。DOM仕様との互換性のためにメソッドは存在しますが、PHP環境下では機能のサポート状況をこのメソッドで判定することはできません。そのため、実際の開発でこのメソッドの返り値に依存した処理を記述することは避けるべきです。
構文(syntax)
1<?php 2 3$dom = new DOMDocument('1.0', 'UTF-8'); 4$instruction = $dom->createProcessingInstruction('php', 'echo "Hello!";'); 5 6$feature = 'XML'; 7$version = '1.0'; 8 9$is_supported = $instruction->isSupported($feature, $version); 10 11var_dump($is_supported); 12 13?>
引数(parameters)
string $feature, string $version
- string $feature: サポートされている機能の名前を指定する文字列
- string $version: サポートされている機能のバージョンを指定する文字列
戻り値(return)
bool
このメソッドは、現在のDOMProcessingInstructionがサポートされているかどうかを示す真偽値(bool)を返します。サポートされている場合は true、そうでない場合は false です。