【PHP8.x】isSupportedメソッドの使い方
isSupportedメソッドの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
isSupportedメソッドは、指定された機能とバージョンが、現在のDOMノード、具体的にはDOMNotationインスタンスによってサポートされているかどうかを確認するために実行するメソッドです。これはDOMNodeクラスから継承されており、PHP 8のDOM拡張機能の一部として利用できます。
このメソッドは2つの文字列型の引数を受け取ります。最初の引数 $feature は確認したい機能の名前(例:「XML」、「Core」など)を、2番目の引数 $version はその機能のバージョン(例:「1.0」、「2.0」など)を指定します。これらの機能とバージョンがサポートされている場合、このメソッドはtrueを、そうでない場合はfalseをブール値で返します。
DOMNotationは、XMLドキュメントのDOCTYPE宣言内で定義される「記法」(NOTATION)を表す特殊なノードです。これは、外部の非XMLデータ形式を参照する際に利用されることがありますが、XMLのDOM仕様の古いバージョンで主に存在したため、現代のウェブ開発やXML処理では使用される機会が非常に限られています。
そのため、DOMNotationオブジェクトに対してisSupportedメソッドを呼び出した場合、ほとんどのケースでfalseが返される傾向にあります。このメソッドは通常、より一般的なDOMDocumentなどのノードに対して、XMLの特定の機能やバージョンのサポート状況を広範に確認するために利用されることが多いです。
構文(syntax)
1<?php 2$xml = <<<XML 3<?xml version="1.0"?> 4<!DOCTYPE root [ 5 <!NOTATION mynotation PUBLIC "some_public_id"> 6]> 7<root/> 8XML; 9 10$doc = new DOMDocument(); 11$doc->loadXML($xml); 12 13$notation = $doc->doctype->notations->getNamedItem('mynotation'); 14 15// bool isSupported(string $feature, string $version) 16$is_supported = $notation->isSupported('XML', '1.0'); 17 18var_dump($is_supported); 19?>
引数(parameters)
string $feature, string $version
- string $feature: サポートされている機能名を指定する文字列
- string $version: サポートされているバージョンを指定する文字列
戻り値(return)
bool
このメソッドは、現在の環境で DOM 拡張機能がサポートされているかどうかを示す論理値 (true または false) を返します。