interface InstallRequirementsInterface

Provides method for checking requirements during install time.

Hierarchy

Expanded class hierarchy of InstallRequirementsInterface

All classes that implement InstallRequirementsInterface

4 files declare their use of InstallRequirementsInterface
install.inc in core/includes/install.inc
API functions for installing modules and themes.
ModuleInstallRequirements.php in core/modules/system/tests/modules/module_install_requirements/src/Install/Requirements/ModuleInstallRequirements.php
ModuleInstallUnmetRequirementsRequirements.php in core/modules/system/tests/modules/module_install_unmet_requirements/src/Install/Requirements/ModuleInstallUnmetRequirementsRequirements.php
ProfileInstallRequirementsRequirements.php in core/profiles/tests/profile_install_requirements/src/Install/Requirements/ProfileInstallRequirementsRequirements.php

File

core/lib/Drupal/Core/Extension/InstallRequirementsInterface.php, line 8

Namespace

Drupal\Core\Extension
View source
interface InstallRequirementsInterface {
    
    /**
     * Check installation requirements.
     *
     * Classes implementing this must be in the Install/Requirements namespace.
     * For example src/Install/Requirements/ModuleNameRequirements.php.
     *
     * During the 'install' phase, modules can for example assert that
     * library or server versions are available or sufficient.
     * Note that the installation of a module can happen during installation of
     * Drupal itself (by install.php) with an installation profile or later by
     * hand. As a consequence, install-time requirements must be checked without
     * access to the full Drupal API, because it is not available during
     * install.php.
     * If a requirement has a severity of REQUIREMENT_ERROR, install.php will
     * abort or at least the module will not install.
     * Other severity levels have no effect on the installation.
     * Module dependencies do not belong to these installation requirements,
     * but should be defined in the module's .info.yml file.
     *
     * During installation, if you need to load a class from your module,
     * you'll need to include the class file directly.
     *
     * @return array
     *   An associative array where the keys are arbitrary but must be unique (it
     *   is suggested to use the module short name as a prefix) and the values are
     *   themselves associative arrays with the following elements:
     *   - title: The name of the requirement.
     *   - value: This should only be used for version numbers, do not set it if
     *     not applicable.
     *   - description: The description of the requirement/status.
     *   - severity: (optional) The requirement's result/severity level, one of:
     *     - REQUIREMENT_INFO: For info only.
     *     - REQUIREMENT_OK: The requirement is satisfied.
     *     - REQUIREMENT_WARNING: The requirement failed with a warning.
     *     - REQUIREMENT_ERROR: The requirement failed with an error.
     *     Defaults to REQUIREMENT_OK when installing.
     */
    public static function getRequirements() : array;

}

Members

Title Sort descending Modifiers Object type Summary Overrides
InstallRequirementsInterface::getRequirements public static function Check installation requirements. 3

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.