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

# DOMImplementation::hasFeature

(PHP 5, PHP 7, PHP 8)

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

### 説明

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

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

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

### パラメータ

`feature`

  調べる機能。

`version`

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

### 戻り値

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

### 変更履歴

バージョン | 説明
--- | ---
8.0.0 | この関数を static メソッドとしてコールすると、 Error がスローされるようになりました。 これより前のバージョンでは、 `E_DEPRECATED` が発生していました。

### 例

例1 DOM の実装を調べる

    <?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'
    );

    $implementation = new DOMImplementation;

    foreach ($features as $key => $name) {
      if ($implementation->hasFeature($key, '2.0')) {
        echo "$name の機能を保持しています\n";
      } else {
        echo "$name の機能は保持していません\n";
      }
    }

    ?>

### 参考

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

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