We already have that... 

Your implementation requires an array/traversable, will crash if given a string, does not check if the supplied list is valid either. 

As for the name, `PhpExtensions` is not very "grammatical" way of expressing of what the check does. For example, we have `DirWritable` which explains the object and the condition. In my branch I call this `ExtensionLoaded` because it explains the object (an extension) and the condition (is loaded) ... and also it is compatible with name of the [PHP function name extension_loaded()](http://php.net/manual/en/function.extension-loaded.php) .