Same name and namespace in other branches
  1. 8.9.x core/lib/Drupal/Core/TypedData/ListDataDefinition.php \Drupal\Core\TypedData\ListDataDefinition::createFromDataType()
  2. 9 core/lib/Drupal/Core/TypedData/ListDataDefinition.php \Drupal\Core\TypedData\ListDataDefinition::createFromDataType()

Creates a new data definition object.

This method is typically used by \Drupal\Core\TypedData\TypedDataManager::createDataDefinition() to build a definition object for an arbitrary data type. When the definition class is known, it is recommended to directly use the static create() method on that class instead; e.g.:

$map_definition = \Drupal\Core\TypedData\MapDataDefinition::create();

Parameters

string $data_type: The data type, for which a data definition should be created.

Return value

static

Throws

\InvalidArgumentException If an unsupported data type gets passed to the class; e.g., 'string' to a definition class handling 'entity:* data types.

Overrides DataDefinition::createFromDataType

File

core/lib/Drupal/Core/TypedData/ListDataDefinition.php, line 33

Class

ListDataDefinition
A typed data definition class for defining lists.

Namespace

Drupal\Core\TypedData

Code

public static function createFromDataType($type) {
  $definition = parent::createFromDataType($type);

  // If nothing else given, default to a list of 'any' items.
  $definition->itemDefinition = DataDefinition::create('any');
  return $definition;
}