【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) を返します。

関連コンテンツ

関連プログラミング言語