diff --git a/core/modules/field/src/FieldConfigStorage.php b/core/modules/field/src/FieldConfigStorage.php index f9bb33c8e1..7ea6fd6ead 100644 --- a/core/modules/field/src/FieldConfigStorage.php +++ b/core/modules/field/src/FieldConfigStorage.php @@ -14,7 +14,7 @@ use Drupal\Component\Uuid\UuidInterface; /** - * Controller class for fields. + * Storage handler for field config. */ class FieldConfigStorage extends FieldConfigStorageBase { diff --git a/core/modules/field/src/FieldStorageConfigStorage.php b/core/modules/field/src/FieldStorageConfigStorage.php index 5113d9be20..66733a69f0 100644 --- a/core/modules/field/src/FieldStorageConfigStorage.php +++ b/core/modules/field/src/FieldStorageConfigStorage.php @@ -7,14 +7,16 @@ use Drupal\Core\Entity\EntityInterface; use Drupal\Core\Entity\EntityManagerInterface; use Drupal\Core\Entity\EntityTypeInterface; +use Drupal\Core\Field\DeletedFieldsRepositoryInterface; use Drupal\Core\Field\FieldTypePluginManagerInterface; use Drupal\Core\Language\LanguageManagerInterface; use Symfony\Component\DependencyInjection\ContainerInterface; use Drupal\Core\Config\ConfigFactoryInterface; use Drupal\Core\Extension\ModuleHandlerInterface; + /** - * Controller class for "field storage" configuration entities. + * Storage handler for "field storage" configuration entities. */ class FieldStorageConfigStorage extends ConfigEntityStorage { @@ -40,6 +42,13 @@ class FieldStorageConfigStorage extends ConfigEntityStorage { protected $fieldTypeManager; /** + * The deleted field and field storage repository. + * + * @var \Drupal\Core\Field\DeletedFieldsRepositoryInterface + */ + protected $deletedFieldsRepository; + + /** * Constructs a FieldStorageConfigStorage object. * * @param \Drupal\Core\Entity\EntityTypeInterface $entity_type @@ -56,12 +65,15 @@ class FieldStorageConfigStorage extends ConfigEntityStorage { * The module handler. * @param \Drupal\Core\Field\FieldTypePluginManagerInterface $field_type_manager * The field type plugin manager. + * @param \Drupal\Core\Field\DeletedFieldsRepositoryInterface $deleted_fields_repository + * The deleted field and field storage repository. */ - public function __construct(EntityTypeInterface $entity_type, ConfigFactoryInterface $config_factory, UuidInterface $uuid_service, LanguageManagerInterface $language_manager, EntityManagerInterface $entity_manager, ModuleHandlerInterface $module_handler, FieldTypePluginManagerInterface $field_type_manager) { + public function __construct(EntityTypeInterface $entity_type, ConfigFactoryInterface $config_factory, UuidInterface $uuid_service, LanguageManagerInterface $language_manager, EntityManagerInterface $entity_manager, ModuleHandlerInterface $module_handler, FieldTypePluginManagerInterface $field_type_manager, DeletedFieldsRepositoryInterface $deleted_fields_repository) { parent::__construct($entity_type, $config_factory, $uuid_service, $language_manager); $this->entityManager = $entity_manager; $this->moduleHandler = $module_handler; $this->fieldTypeManager = $field_type_manager; + $this->deletedFieldsRepository = $deleted_fields_repository; } /** @@ -75,7 +87,8 @@ public static function createInstance(ContainerInterface $container, EntityTypeI $container->get('language_manager'), $container->get('entity.manager'), $container->get('module_handler'), - $container->get('plugin.manager.field.field_type') + $container->get('plugin.manager.field.field_type'), + $container->get('field.deleted_fields_repository') ); } @@ -105,13 +118,10 @@ public function loadByProperties(array $conditions = []) { } } - /** @var \Drupal\Core\Field\DeletedFieldsRepositoryInterface $deleted_fields_repository */ - $deleted_fields_repository = \Drupal::service('field.deleted_fields_repository'); - // Merge deleted field storages from the deleted fields repository if // needed. if ($include_deleted || !empty($conditions['deleted'])) { - $deleted_storages = $deleted_fields_repository->getFieldStorages(); + $deleted_storages = $this->deletedFieldsRepository->getFieldStorages(); foreach ($deleted_storages as $id => $storage) { $storages[$id] = $storage; }