public function ArrayElement::get in Drupal 10
Same name and namespace in other branches
- 8 core/lib/Drupal/Core/Config/Schema/ArrayElement.php \Drupal\Core\Config\Schema\ArrayElement::get()
- 9 core/lib/Drupal/Core/Config/Schema/ArrayElement.php \Drupal\Core\Config\Schema\ArrayElement::get()
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
1 call to ArrayElement::get()
- ArrayElement::getProperties in core/
lib/ Drupal/ Core/ Config/ Schema/ ArrayElement.php - Gets an array of property objects.
File
- core/
lib/ Drupal/ Core/ Config/ Schema/ ArrayElement.php, line 56
Class
- ArrayElement
- Defines a generic configuration element that contains multiple properties.
Namespace
Drupal\Core\Config\SchemaCode
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.");
}
}