Same name and namespace in other branches
  1. 8.9.x core/modules/file/src/Entity/File.php \Drupal\file\Entity\File::preCreate()
  2. 9 core/modules/file/src/Entity/File.php \Drupal\file\Entity\File::preCreate()

Changes the values of an entity before it is created.

Load defaults for example.

Parameters

\Drupal\Core\Entity\EntityStorageInterface $storage: The entity storage object.

mixed[] $values: An array of values to set, keyed by property name. If the entity type has bundles the bundle key has to be specified.

Overrides EntityInterface::preCreate

File

core/modules/file/src/Entity/File.php, line 166

Class

File
Defines the file entity class.

Namespace

Drupal\file\Entity

Code

public static function preCreate(EntityStorageInterface $storage, array &$values) {

  // Automatically detect filename if not set.
  if (!isset($values['filename']) && isset($values['uri'])) {
    $values['filename'] = \Drupal::service('file_system')
      ->basename($values['uri']);
  }

  // Automatically detect filemime if not set.
  if (!isset($values['filemime']) && isset($values['uri'])) {
    $values['filemime'] = \Drupal::service('file.mime_type.guesser')
      ->guessMimeType($values['uri']);
  }
}