class Sequence
Same name and namespace in other branches
- 8.9.x core/lib/Drupal/Core/Config/Schema/Sequence.php \Drupal\Core\Config\Schema\Sequence
- 10 core/lib/Drupal/Core/Config/Schema/Sequence.php \Drupal\Core\Config\Schema\Sequence
- 11.x core/lib/Drupal/Core/Config/Schema/Sequence.php \Drupal\Core\Config\Schema\Sequence
Defines a configuration element of type Sequence.
This object may contain any number and type of nested elements that share a common definition in the 'sequence' property of the configuration schema.
Read https://www.drupal.org/node/1905070 for more details about configuration schema, types and type resolution.
Note that sequences implement the typed data ComplexDataInterface (via the parent ArrayElement) rather than the ListInterface. This is because sequences may have named keys, which is not supported by ListInterface. From the typed data API perspective sequences are handled as ordered mappings without metadata about existing properties.
Hierarchy
- class \Drupal\Core\TypedData\TypedData implements \Drupal\Core\TypedData\TypedDataInterface, \Drupal\Component\Plugin\PluginInspectionInterface uses \Drupal\Core\DependencyInjection\DependencySerializationTrait, \Drupal\Core\StringTranslation\StringTranslationTrait, \Drupal\Core\TypedData\TypedDataTrait
- class \Drupal\Core\Config\Schema\Element extends \Drupal\Core\TypedData\TypedData
- class \Drupal\Core\Config\Schema\ArrayElement extends \Drupal\Core\Config\Schema\Element implements \Drupal\Core\Config\Schema\IteratorAggregate, \Drupal\Core\Config\Schema\TypedConfigInterface, \Drupal\Core\TypedData\ComplexDataInterface
- class \Drupal\Core\Config\Schema\Sequence extends \Drupal\Core\Config\Schema\ArrayElement
- class \Drupal\Core\Config\Schema\ArrayElement extends \Drupal\Core\Config\Schema\Element implements \Drupal\Core\Config\Schema\IteratorAggregate, \Drupal\Core\Config\Schema\TypedConfigInterface, \Drupal\Core\TypedData\ComplexDataInterface
- class \Drupal\Core\Config\Schema\Element extends \Drupal\Core\TypedData\TypedData
Expanded class hierarchy of Sequence
1 file declares its use of Sequence
- StorableConfigBase.php in core/
lib/ Drupal/ Core/ Config/ StorableConfigBase.php
75 string references to 'Sequence'
- aggregator.schema.yml in core/
modules/ aggregator/ config/ schema/ aggregator.schema.yml - core/modules/aggregator/config/schema/aggregator.schema.yml
- block.schema.yml in core/
modules/ block/ config/ schema/ block.schema.yml - core/modules/block/config/schema/block.schema.yml
- book.schema.yml in core/
modules/ book/ config/ schema/ book.schema.yml - core/modules/book/config/schema/book.schema.yml
- book.views.schema.yml in core/
modules/ book/ config/ schema/ book.views.schema.yml - core/modules/book/config/schema/book.views.schema.yml
- ckeditor.schema.yml in core/
modules/ ckeditor/ config/ schema/ ckeditor.schema.yml - core/modules/ckeditor/config/schema/ckeditor.schema.yml
File
-
core/
lib/ Drupal/ Core/ Config/ Schema/ Sequence.php, line 20
Namespace
Drupal\Core\Config\SchemaView source
class Sequence extends ArrayElement {
/**
* {@inheritdoc}
*/
protected function getElementDefinition($key) {
$value = $this->value[$key] ?? NULL;
// @todo: Remove BC layer for sequence with hyphen in front. https://www.drupal.org/node/2444979
$definition = [];
if (isset($this->definition['sequence'][0])) {
$definition = $this->definition['sequence'][0];
}
elseif ($this->definition['sequence']) {
$definition = $this->definition['sequence'];
}
return $this->buildDataDefinition($definition, $value, $key);
}
}
Members
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.