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

Namespace

Drupal\Component\Plugin\Discovery

File

core/lib/Drupal/Component/Plugin/Discovery/DiscoveryCachedTrait.php
View source
<?php

namespace Drupal\Component\Plugin\Discovery;

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);
  }

}

Traits