Same name and namespace in other branches
  1. 8.9.x core/lib/Drupal/Component/Plugin/Discovery/DiscoveryCachedTrait.php \Drupal\Component\Plugin\Discovery\DiscoveryCachedTrait
  2. 9 core/lib/Drupal/Component/Plugin/Discovery/DiscoveryCachedTrait.php \Drupal\Component\Plugin\Discovery\DiscoveryCachedTrait

Hierarchy

1 file declares its use of DiscoveryCachedTrait
DiscoveryCachedTraitTest.php in core/tests/Drupal/Tests/Component/Plugin/Discovery/DiscoveryCachedTraitTest.php

File

core/lib/Drupal/Component/Plugin/Discovery/DiscoveryCachedTrait.php, line 5

Namespace

Drupal\Component\Plugin\Discovery
View source
trait DiscoveryCachedTrait {
  use DiscoveryTrait;

  /**
   * Cached definitions array.
   *
   * @var array
   */
  protected $definitions;

  /**
   * {@inheritdoc}
   */
  public function getDefinition($plugin_id, $exception_on_invalid = TRUE) {

    // Fetch definitions if they're not loaded yet.
    if (!isset($this->definitions)) {
      $this
        ->getDefinitions();
    }
    return $this
      ->doGetDefinition($this->definitions, $plugin_id, $exception_on_invalid);
  }

}

Members

Namesort descending Modifiers Type Description Overrides
DiscoveryCachedTrait::$definitions protected property Cached definitions array.
DiscoveryCachedTrait::getDefinition public function Overrides DiscoveryTrait::getDefinition 1
DiscoveryTrait::doGetDefinition protected function Gets a specific plugin definition.
DiscoveryTrait::getDefinitions abstract public function 14
DiscoveryTrait::hasDefinition public function