You are here

trait DiscoveryCachedTrait in Drupal 9

Same name and namespace in other branches
  1. 8 core/lib/Drupal/Component/Plugin/Discovery/DiscoveryCachedTrait.php \Drupal\Component\Plugin\Discovery\DiscoveryCachedTrait

Hierarchy

1 file declares its use of DiscoveryCachedTrait
DefaultPluginManager.php in core/lib/Drupal/Core/Plugin/DefaultPluginManager.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. 1
DiscoveryCachedTrait::getDefinition public function Overrides DiscoveryTrait::getDefinition 3
DiscoveryTrait::doGetDefinition protected function Gets a specific plugin definition.
DiscoveryTrait::getDefinitions abstract public function 13
DiscoveryTrait::hasDefinition public function