Test if the DOM implementation implements a specific feature

DOMImplementation::createDocumentType
DOMNamedNodeMap
DOMImplementation
PHP Manual

# DOMImplementation::hasFeature

(PHP 5)

DOMImplementation::hasFeature — Test if the DOM implementation implements a specific feature

### 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.

### 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.

### Return Values

Returns `TRUE` on success or `FALSE` on failure.

### Errors/Exceptions

This method may be called statically, but will issue an `E_STRICT` error.

### Examples

Example #1 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'
);
foreach ($features as $key => $name) {
if (DOMImplementation::hasFeature($key, '2.0')) {
echo "Has feature $name\n";
} else {
echo "Missing feature $name\n";
}
}
?>`

### See Also

- DOMNode::isSupported() - Checks if feature is supported for specified version

DOMImplementation::createDocumentType
DOMNamedNodeMap
DOMImplementation
PHP Manual