3 use Drupal\field\Entity\FieldStorageConfig;
4 use Drupal\field\Entity\FieldConfig;
5 use Drupal\user\Entity\User;
7 // @see https://api.drupal.org/api/drupal/core%21lib%21Drupal%21Core%21Field%21Annotation%21FieldType.php/class/annotations/FieldType/8.2.x
8 create_field('field_user_email', 'email', 'user', 'user');
9 create_field('field_user_string', 'string', 'user', 'user');
10 create_field('field_user_string_long', 'string_long', 'user', 'user');
11 create_field('field_user_telephone', 'telephone', 'user', 'user');
12 create_field('field_user_text', 'text', 'user', 'user');
13 create_field('field_user_text_long', 'text_long', 'user', 'user');
14 create_field('field_user_text_with_summary', 'text_with_summary', 'user', 'user');
18 'field_user_email' => 'joe.user.alt@myhome.com',
19 'field_user_string' => 'Private info',
20 'field_user_string_long' => 'Really private info',
21 'field_user_telephone' => '4104442222',
22 'field_user_text' => 'Super private info',
23 'field_user_text_long' => 'Super duper private info',
24 'field_user_text_with_summary' => 'Private',
27 $user = User::create([
33 foreach ($values as $field_name => $value) {
34 $user->set($field_name, $value);
37 $return = $user->save();
40 * Create a field on an entity.
42 * @param string $field_name
43 * The name of the field.
44 * @param string $field_type
46 * @param string $entity_type
47 * The entity type. E.g., user.
49 * The entity bundle. E.g., article.
51 function create_field($field_name, $field_type, $entity_type, $bundle)
53 $field_storage = FieldStorageConfig::create([
54 'field_name' => $field_name,
55 'entity_type' => $entity_type,
56 'type' => $field_type,
58 $field_storage->save();
60 'field_storage' => $field_storage,
62 'label' => $field_name,