DOMImplementation::hasFeature

(PHP 5, PHP 7, PHP 8)

DOMImplementation::hasFeature DOM 実装が、指定した機能を実装しているかどうかを調べる

説明

public DOMImplementation::hasFeature(string $feature, string $version): bool

DOM 実装が、指定した機能 feature を実装しているかどうかを調べます。

DOM 仕様の » Conformance の節に、すべての機能の一覧があります。

パラメータ

feature

調べる機能。

version

調べる feature のバージョン番号。 DOM level 2 においては、これは 2.0 あるいは 1.0 のいずれかです。

戻り値

成功した場合に true を、失敗した場合に false を返します。

エラー / 例外

PHP 8.0.0 より前のバージョンでは、このメソッドは、staticメソッドとしてコールすることも できましたがE_DEPRECATED エラーが発生していました。 PHP 8.0.0 以降では、このメソッドをstaticメソッドとしてコールすると Error がスローされます。

例1 DOM Implementation を調べる

<?php

$features 
= array(
  
'Core'           => 'Core module',
  
'XML'            => 'XML module',
  
'HTML'           => 'HTML module',
  
'Views'          => 'Views module',
  
'Stylesheets'    => 'Style Sheets module',
  
'CSS'            => 'CSS module',
  
'CSS2'           => 'CSS2 module',
  
'Events'         => 'Events module',
  
'UIEvents'       => 'User interface Events module',
  
'MouseEvents'    => 'Mouse Events module',
  
'MutationEvents' => 'Mutation Events module',
  
'HTMLEvents'     => 'HTML Events module',
  
'Range'          => 'Range module',
  
'Traversal'      => 'Traversal module'
);
               
foreach (
$features as $key => $name) {
  if (
DOMImplementation::hasFeature($key'2.0')) {
    echo 
"$name の機能を保持しています\n";
  } else {
    echo 
"$name の機能は保持していません\n";
  }
}

?>

参考

  • DOMNode::isSupported() - 指定したバージョンで機能がサポートされているかどうかを調べる

関連キーワード:  実装, 機能, 指定, DOMImplementation, メソッド, feature, バージョン, hasFeature, string, version