public TypedDataManager::createDataDefinition($data_type)
Creates a new data definition object.
While data definitions objects may be created directly if the definition class used by a data type is known, this method allows the creation of data definitions for any given data type.
For example, if a definition for a map is to be created, the following code could be used instead of calling this method with the argument 'map':
1 | $map_definition = \Drupal\Core\TypedData\MapDataDefinition::create(); |
Parameters
string $data_type: The data type plugin ID, for which a data definition object should be created.
Return value
\Drupal\Core\TypedData\DataDefinitionInterface A data definition object for the given data type. The class of this object is provided by the definition_class in the plugin annotation.
Overrides TypedDataManagerInterface::createDataDefinition
See also
\Drupal\Core\TypedData\TypedDataManager::createListDataDefinition()
File
- core/lib/Drupal/Core/TypedData/TypedDataManager.php, line 114
Class
- TypedDataManager
- Manages data type plugins.
Namespace
Drupal\Core\TypedData
Code
1 2 3 4 5 6 7 8 | public function createDataDefinition( $data_type ) { $type_definition = $this ->getDefinition( $data_type ); if (!isset( $type_definition )) { throw new \InvalidArgumentException( "Invalid data type '$data_type' has been given" ); } $class = $type_definition [ 'definition_class' ]; return $class ::createFromDataType( $data_type ); } |
Please login to continue.