You are here

class YamlDiscoveryDecorator in Zircon Profile 8

Same name and namespace in other branches
  1. 8.0 core/lib/Drupal/Core/Plugin/Discovery/YamlDiscoveryDecorator.php \Drupal\Core\Plugin\Discovery\YamlDiscoveryDecorator

Enables YAML discovery for plugin definitions.

You should normally extend this class to add validation for the values in the YAML data or to restrict use of the class or derivatives keys.

Hierarchy

Expanded class hierarchy of YamlDiscoveryDecorator

1 file declares its use of YamlDiscoveryDecorator
YamlDiscoveryDecoratorTest.php in core/tests/Drupal/Tests/Core/Plugin/Discovery/YamlDiscoveryDecoratorTest.php
Contains \Drupal\Tests\Core\Plugin\Discovery\YamlDiscoveryDecoratorTest.

File

core/lib/Drupal/Core/Plugin/Discovery/YamlDiscoveryDecorator.php, line 18
Contains \Drupal\Core\Plugin\Discovery\YamlDiscoveryDecorator.

Namespace

Drupal\Core\Plugin\Discovery
View source
class YamlDiscoveryDecorator extends YamlDiscovery {

  /**
   * The Discovery object being decorated.
   *
   * @var \Drupal\Component\Plugin\Discovery\DiscoveryInterface
   */
  protected $decorated;

  /**
   * Constructs a YamlDiscoveryDecorator object.
   *
   * @param \Drupal\Component\Plugin\Discovery\DiscoveryInterface $decorated
   *   The discovery object that is being decorated.
   * @param string $name
   *   The file name suffix to use for discovery. E.g. 'test' will become
   *   'MODULE.test.yml'.
   * @param array $directories
   *   An array of directories to scan.
   */
  public function __construct(DiscoveryInterface $decorated, $name, array $directories) {
    parent::__construct($name, $directories);
    $this->decorated = $decorated;
  }

  /**
   * {@inheritdoc}
   */
  public function getDefinitions() {
    return parent::getDefinitions() + $this->decorated
      ->getDefinitions();
  }

  /**
   * Passes through all unknown calls onto the decorated object.
   */
  public function __call($method, $args) {
    return call_user_func_array(array(
      $this->decorated,
      $method,
    ), $args);
  }

}

Members

Namesort descending Modifiers Type Description Overrides
DiscoveryTrait::doGetDefinition protected function Gets a specific plugin definition.
DiscoveryTrait::getDefinition public function 3
DiscoveryTrait::hasDefinition public function
YamlDiscovery::$discovery protected property YAML file discovery and parsing handler.
YamlDiscovery::$translatableProperties protected property Contains an array of translatable properties passed along to t().
YamlDiscovery::addTranslatableProperty public function Set one of the YAML values as being translatable.
YamlDiscoveryDecorator::$decorated protected property The Discovery object being decorated.
YamlDiscoveryDecorator::getDefinitions public function Gets the definition of all plugins for this type. Overrides YamlDiscovery::getDefinitions
YamlDiscoveryDecorator::__call public function Passes through all unknown calls onto the decorated object.
YamlDiscoveryDecorator::__construct public function Constructs a YamlDiscoveryDecorator object. Overrides YamlDiscovery::__construct