function install_check_class_requirements
Checks a module or profile requirements.
See \Drupal\Core\Extension\InstallRequirementsInterface for more information.
@internal
Parameters
\Drupal\Core\Extension $extension: The extension to check install requirements for.
Return value
array The requirements.
2 calls to install_check_class_requirements()
- drupal_check_module in core/
includes/ install.inc - Checks a module's requirements.
- drupal_check_profile in core/
includes/ install.inc - Checks an installation profile's requirements.
File
-
core/
includes/ install.inc, line 817
Code
function install_check_class_requirements(Extension $extension) : array {
$extension_path = $extension->getPath();
$extension_name = $extension->getName();
$dir = \Drupal::root() . "/{$extension_path}/src/Install/Requirements";
$requirements = [];
if (is_dir($dir)) {
$fileSystemIterator = new FilesystemIterator($dir);
foreach ($fileSystemIterator as $fileInfo) {
if ($fileInfo->isFile() && $fileInfo->getExtension() === 'php') {
$filename = $fileInfo->getFilename();
$requirements_path = $dir . '/' . $filename;
require_once $requirements_path;
$namespace = "Drupal\\{$extension_name}\\Install\\Requirements";
$class_name = $namespace . '\\' . $fileInfo->getBasename('.php');
if (class_exists($class_name) && class_implements($class_name, InstallRequirementsInterface::class)) {
$requirements = $class_name::getRequirements();
}
}
}
}
return $requirements;
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.