DOMImplementation::hasFeature

Test if the DOM implementation implements a specific feature

&reftitle.description; public `bool` `DOMImplementation::hasFeature` `string` `feature` `string` `version`

Test if the DOM implementation implements a specific `feature`.

You can find a list of all features in the Conformance section of the DOM specification.

&reftitle.parameters;

`feature`

- The feature to test.

`version`

- The version number of the `feature` to test. In level 2, this can be either `2.0` or `1.0`.

&reftitle.returnvalues;

&return.success;

&reftitle.changelog;

&Version; | &Description;
8.0.0 | Calling this function statically will now throw an `Error`. Previously, an `E_DEPRECATED` was raised.

&reftitle.examples;

### Testing your 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'
    );

    $implementation = new DOMImplementation;

    foreach ($features as $key => $name) {
      if ($implementation->hasFeature($key, '2.0')) {
        echo "Has feature $name\n";
      } else {
        echo "Missing feature $name\n";
      }
    }

    ?>

&reftitle.seealso;

- `DOMNode::isSupported`