class Sequence

Same name and namespace in other branches
  1. 11.x core/lib/Drupal/Core/Config/Schema/Sequence.php \Drupal\Core\Config\Schema\Sequence
  2. 10 core/lib/Drupal/Core/Config/Schema/Sequence.php \Drupal\Core\Config\Schema\Sequence
  3. 9 core/lib/Drupal/Core/Config/Schema/Sequence.php \Drupal\Core\Config\Schema\Sequence
  4. 8.9.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

Expanded class hierarchy of Sequence

2 files declare their use of Sequence
StorableConfigBase.php in core/lib/Drupal/Core/Config/StorableConfigBase.php
TypedConfigTest.php in core/tests/Drupal/KernelTests/Config/TypedConfigTest.php
69 string references to 'Sequence'
block.schema.yml in core/modules/block/config/schema/block.schema.yml
core/modules/block/config/schema/block.schema.yml
ckeditor5.schema.yml in core/modules/ckeditor5/config/schema/ckeditor5.schema.yml
core/modules/ckeditor5/config/schema/ckeditor5.schema.yml
ckeditor5_plugin_elements_subset.schema.yml in core/modules/ckeditor5/tests/modules/ckeditor5_plugin_elements_subset/config/schema/ckeditor5_plugin_elements_subset.schema.yml
core/modules/ckeditor5/tests/modules/ckeditor5_plugin_elements_subset/config/schema/ckeditor5_plugin_elements_subset.schema.yml
condition_test.schema.yml in core/modules/system/tests/modules/condition_test/config/schema/condition_test.schema.yml
core/modules/system/tests/modules/condition_test/config/schema/condition_test.schema.yml
ConfigSchemaTest::testSchemaMapping in core/tests/Drupal/KernelTests/Core/Config/ConfigSchemaTest.php
Tests the basic metadata retrieval layer.

... See full list

File

core/lib/Drupal/Core/Config/Schema/Sequence.php, line 20

Namespace

Drupal\Core\Config\Schema
View source
class Sequence extends ArrayElement {
  
  /**
   * {@inheritdoc}
   */
  protected function getElementDefinition($key) {
    $value = $this->value[$key] ?? NULL;
    $definition = [];
    if ($this->definition['sequence']) {
      $definition = $this->definition['sequence'];
    }
    return $this->buildDataDefinition($definition, $value, $key);
  }

}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.