ArrayElement::get

public ArrayElement::get($name)

Gets a contained typed configuration element.

Parameters

$name: The name of the property to get; e.g., 'title' or 'name'. Nested elements can be get using multiple dot delimited names, for example, 'page.front'.

Return value

\Drupal\Core\TypedData\TypedDataInterface The property object.

Throws

\InvalidArgumentException If an invalid property name is given.

Overrides TypedConfigInterface::get

File

core/lib/Drupal/Core/Config/Schema/ArrayElement.php, line 54

Class

ArrayElement
Defines a generic configuration element that contains multiple properties.

Namespace

Drupal\Core\Config\Schema

Code

public function get($name) {
  $parts = explode('.', $name);
  $root_key = array_shift($parts);
  $elements = $this->getElements();
  if (isset($elements[$root_key])) {
    $element = $elements[$root_key];
    // If $property_name contained a dot recurse into the keys.
    while ($element && ($key = array_shift($parts)) !== NULL) {
      if ($element instanceof TypedConfigInterface) {
        $element = $element->get($key);
      }
      else {
        $element = NULL;
      }
    }
  }
  if (isset($element)) {
    return $element;
  }
  else {
    throw new \InvalidArgumentException("The configuration property $name doesn't exist.");
  }
}
doc_Drupal
2016-10-29 08:44:48
Comments
Leave a Comment

Please login to continue.