public static function File::preCreate in Drupal 9
Same name and namespace in other branches
- 8 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 EntityBase::preCreate
File
- core/
modules/ file/ src/ Entity/ File.php, line 154
Class
- File
- Defines the file entity class.
Namespace
Drupal\file\EntityCode
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'])) {
$guesser = \Drupal::service('file.mime_type.guesser');
if ($guesser instanceof MimeTypeGuesserInterface) {
$values['filemime'] = $guesser
->guessMimeType($values['uri']);
}
else {
$values['filemime'] = $guesser
->guess($values['uri']);
@trigger_error('\\Symfony\\Component\\HttpFoundation\\File\\MimeType\\MimeTypeGuesserInterface is deprecated in drupal:9.1.0 and is removed from drupal:10.0.0. Implement \\Symfony\\Component\\Mime\\MimeTypeGuesserInterface instead. See https://www.drupal.org/node/3133341', E_USER_DEPRECATED);
}
}
}