Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
| Total | |
100.00% |
1 / 1 |
|
100.00% |
2 / 2 |
CRAP | |
100.00% |
12 / 12 |
| DependencyTrait | |
100.00% |
1 / 1 |
|
100.00% |
2 / 2 |
7 | |
100.00% |
12 / 12 |
| addDependency | |
100.00% |
1 / 1 |
4 | |
100.00% |
8 / 8 |
|||
| addDependencies | |
100.00% |
1 / 1 |
3 | |
100.00% |
4 / 4 |
|||
| <?php | |
| /** | |
| * @file | |
| * Contains \Drupal\Core\Entity\DependencyTrait. | |
| */ | |
| namespace Drupal\Core\Entity; | |
| /** | |
| * Provides a trait for managing an object's dependencies. | |
| */ | |
| trait DependencyTrait { | |
| /** | |
| * The object's dependencies. | |
| * | |
| * @var array | |
| */ | |
| protected $dependencies = array(); | |
| /** | |
| * Adds a dependency. | |
| * | |
| * @param string $type | |
| * Type of dependency being added: 'module', 'theme', 'config', 'content'. | |
| * @param string $name | |
| * If $type is 'module' or 'theme', the name of the module or theme. If | |
| * $type is 'config' or 'content', the result of | |
| * EntityInterface::getConfigDependencyName(). | |
| * | |
| * @see \Drupal\Core\Entity\EntityInterface::getConfigDependencyName() | |
| * | |
| * @return $this | |
| */ | |
| protected function addDependency($type, $name) { | |
| if (empty($this->dependencies[$type])) { | |
| $this->dependencies[$type] = array($name); | |
| if (count($this->dependencies) > 1) { | |
| // Ensure a consistent order of type keys. | |
| ksort($this->dependencies); | |
| } | |
| } | |
| elseif (!in_array($name, $this->dependencies[$type])) { | |
| $this->dependencies[$type][] = $name; | |
| // Ensure a consistent order of dependency names. | |
| sort($this->dependencies[$type], SORT_FLAG_CASE); | |
| } | |
| return $this; | |
| } | |
| /** | |
| * Adds multiple dependencies. | |
| * | |
| * @param array $dependencies. | |
| * An array of dependencies keyed by the type of dependency. One example: | |
| * @code | |
| * array( | |
| * 'module' => array( | |
| * 'node', | |
| * 'field', | |
| * 'image', | |
| * ), | |
| * ); | |
| * @endcode | |
| * | |
| * @see \Drupal\Core\Entity\DependencyTrait::addDependency | |
| */ | |
| protected function addDependencies(array $dependencies) { | |
| foreach ($dependencies as $dependency_type => $list) { | |
| foreach ($list as $name) { | |
| $this->addDependency($dependency_type, $name); | |
| } | |
| } | |
| } | |
| } |