function ContextHandler::checkRequirements

Same name and namespace in other branches
  1. 8.9.x core/lib/Drupal/Core/Plugin/Context/ContextHandler.php \Drupal\Core\Plugin\Context\ContextHandler::checkRequirements()
  2. 10 core/lib/Drupal/Core/Plugin/Context/ContextHandler.php \Drupal\Core\Plugin\Context\ContextHandler::checkRequirements()
  3. 11.x core/lib/Drupal/Core/Plugin/Context/ContextHandler.php \Drupal\Core\Plugin\Context\ContextHandler::checkRequirements()

Checks a set of requirements against a set of contexts.

@todo Use context definition objects after https://www.drupal.org/node/2281635.

Parameters

\Drupal\Component\Plugin\Context\ContextInterface[] $contexts: An array of available contexts.

\Drupal\Core\TypedData\DataDefinitionInterface[] $requirements: An array of requirements.

Return value

bool TRUE if all of the requirements are satisfied by the context, FALSE otherwise.

Overrides ContextHandlerInterface::checkRequirements

1 call to ContextHandler::checkRequirements()
ContextHandler::filterPluginDefinitionsByContexts in core/lib/Drupal/Core/Plugin/Context/ContextHandler.php
Determines plugins whose constraints are satisfied by a set of contexts.

File

core/lib/Drupal/Core/Plugin/Context/ContextHandler.php, line 62

Class

ContextHandler
Provides methods to handle sets of contexts.

Namespace

Drupal\Core\Plugin\Context

Code

public function checkRequirements(array $contexts, array $requirements) {
    foreach ($requirements as $requirement) {
        if ($requirement->isRequired() && !$this->getMatchingContexts($contexts, $requirement)) {
            return FALSE;
        }
    }
    return TRUE;
}

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