public static EntityDataDefinition::createFromDataType($data_type)
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.:
1 | $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/Entity/TypedData/EntityDataDefinition.php, line 33
Class
- EntityDataDefinition
- A typed data definition class for describing entities.
Namespace
Drupal\Core\Entity\TypedData
Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | public static function createFromDataType( $data_type ) { $parts = explode ( ':' , $data_type ); if ( $parts [0] != 'entity' ) { throw new \InvalidArgumentException( 'Data type must be in the form of "entity:ENTITY_TYPE:BUNDLE."' ); } $definition = static ::create(); // Set the passed entity type and bundle. if (isset( $parts [1])) { $definition ->setEntityTypeId( $parts [1]); } if (isset( $parts [2])) { $definition ->setBundles( array ( $parts [2])); } return $definition ; } |
Please login to continue.