You are here

public static function BaseFieldDefinition::create in Drupal 10

Same name and namespace in other branches
  1. 8 core/lib/Drupal/Core/Field/BaseFieldDefinition.php \Drupal\Core\Field\BaseFieldDefinition::create()
  2. 9 core/lib/Drupal/Core/Field/BaseFieldDefinition.php \Drupal\Core\Field\BaseFieldDefinition::create()

Creates a new field definition.

Parameters

string $type: The type of the field.

Return value

static A new field definition object.

Overrides ListDataDefinition::create

116 calls to BaseFieldDefinition::create()
BaseFieldDefinition::createFromFieldStorageDefinition in core/lib/Drupal/Core/Field/BaseFieldDefinition.php
Creates a new field definition based upon a field storage definition.
BaseFieldDefinition::createFromItemType in core/lib/Drupal/Core/Field/BaseFieldDefinition.php
Creates a new list data definition for items of the given data type.
BaseFieldDefinitionTest::testCustomStorage in core/tests/Drupal/Tests/Core/Entity/BaseFieldDefinitionTest.php
Tests custom storage.
BaseFieldDefinitionTest::testDefaultFieldSettings in core/tests/Drupal/Tests/Core/Entity/BaseFieldDefinitionTest.php
Tests the initialization of default field settings.
BaseFieldDefinitionTest::testDefaultValueCallback in core/tests/Drupal/Tests/Core/Entity/BaseFieldDefinitionTest.php
Tests default value callbacks.

... See full list

1 method overrides BaseFieldDefinition::create()
BaseFieldDefinitionTest::create in core/modules/migrate/tests/src/Unit/Plugin/migrate/destination/EntityTestBase.php
Creates a new field definition.

File

core/lib/Drupal/Core/Field/BaseFieldDefinition.php, line 57

Class

BaseFieldDefinition
A class for defining entity fields.

Namespace

Drupal\Core\Field

Code

public static function create($type) {
  $field_definition = new static([]);
  $field_definition->type = $type;
  $field_definition->itemDefinition = FieldItemDataDefinition::create($field_definition);

  // Create a definition for the items, and initialize it with the default
  // settings for the field type.
  $field_type_manager = \Drupal::service('plugin.manager.field.field_type');
  $default_settings = $field_type_manager
    ->getDefaultStorageSettings($type) + $field_type_manager
    ->getDefaultFieldSettings($type);
  $field_definition->itemDefinition
    ->setSettings($default_settings);
  return $field_definition;
}