You are here

public function SqlContentEntityStorageSchema::__construct in Drupal 8

Same name and namespace in other branches
  1. 9 core/lib/Drupal/Core/Entity/Sql/SqlContentEntityStorageSchema.php \Drupal\Core\Entity\Sql\SqlContentEntityStorageSchema::__construct()

Constructs a SqlContentEntityStorageSchema.

Parameters

\Drupal\Core\Entity\EntityTypeManagerInterface $entity_type_manager: The entity type manager.

\Drupal\Core\Entity\ContentEntityTypeInterface $entity_type: The entity type.

\Drupal\Core\Entity\Sql\SqlContentEntityStorage $storage: The storage of the entity type. This must be an SQL-based storage.

\Drupal\Core\Database\Connection $database: The database connection to be used.

\Drupal\Core\Entity\EntityFieldManagerInterface $entity_field_manager: The entity field manager.

File

core/lib/Drupal/Core/Entity/Sql/SqlContentEntityStorageSchema.php, line 127

Class

SqlContentEntityStorageSchema
Defines a schema handler that supports revisionable, translatable entities.

Namespace

Drupal\Core\Entity\Sql

Code

public function __construct(EntityTypeManagerInterface $entity_type_manager, ContentEntityTypeInterface $entity_type, SqlContentEntityStorage $storage, Connection $database, EntityFieldManagerInterface $entity_field_manager = NULL) {
  $this->entityTypeManager = $entity_type_manager;
  $this->storage = clone $storage;
  $this->database = $database;
  if (!$entity_field_manager) {
    @trigger_error('Calling SqlContentEntityStorageSchema::__construct() with the $entity_field_manager argument is supported in drupal:8.7.0 and will be required before drupal:9.0.0. See https://www.drupal.org/node/2549139.', E_USER_DEPRECATED);
    $entity_field_manager = \Drupal::service('entity_field.manager');
  }
  $this->entityFieldManager = $entity_field_manager;
  $this->entityType = $entity_type_manager
    ->getActiveDefinition($entity_type
    ->id());
  $this->fieldStorageDefinitions = $entity_field_manager
    ->getActiveFieldStorageDefinitions($entity_type
    ->id());
}