Проверяет, реализует ли DOM-реализация интерфейс конкретного модуля DOM

# DOMImplementation::hasFeature

(PHP 5, PHP 7, PHP 8)

DOMImplementation::hasFeature — Проверяет, реализует ли DOM-реализация интерфейс конкретного модуля DOM

### Описание

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

Метод проверяет, реализует ли реализация `feature` интерфейс конкретного модуля DOM.

Список модулей перечисляет раздел стандарта DOM » Согласование.

### Список параметров

`feature`

  Название модуля для проверки.

`version`

  Номер версии модуля `feature`. Для стандарта DOM level 2 метод принимает либо значение `2.0`, либо значение `1.0`.

### Возвращаемые значения

Функция возвращает `true`, если выполнилась успешно, или `false`, если возникла ошибка.

### Список изменений

Версия | Описание
--- | ---
8.0.0 | Теперь статический вызов метода выбросит исключение 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