You are here

public static function EntityLookup::create in Migrate Plus 8.5

Same name and namespace in other branches
  1. 8.2 src/Plugin/migrate/process/EntityLookup.php \Drupal\migrate_plus\Plugin\migrate\process\EntityLookup::create()
  2. 8.3 src/Plugin/migrate/process/EntityLookup.php \Drupal\migrate_plus\Plugin\migrate\process\EntityLookup::create()
  3. 8.4 src/Plugin/migrate/process/EntityLookup.php \Drupal\migrate_plus\Plugin\migrate\process\EntityLookup::create()

Creates an instance of the plugin.

Parameters

\Symfony\Component\DependencyInjection\ContainerInterface $container: The container to pull out services used in the plugin.

array $configuration: A configuration array containing information about the plugin instance.

string $plugin_id: The plugin ID for the plugin instance.

mixed $plugin_definition: The plugin implementation definition.

Return value

static Returns an instance of this plugin.

Overrides ContainerFactoryPluginInterface::create

1 call to EntityLookup::create()
EntityGenerate::create in src/Plugin/migrate/process/EntityGenerate.php
Creates an instance of the plugin.
1 method overrides EntityLookup::create()
EntityGenerate::create in src/Plugin/migrate/process/EntityGenerate.php
Creates an instance of the plugin.

File

src/Plugin/migrate/process/EntityLookup.php, line 150

Class

EntityLookup
This plugin looks for existing entities.

Namespace

Drupal\migrate_plus\Plugin\migrate\process

Code

public static function create(ContainerInterface $container, array $configuration, $pluginId, $pluginDefinition, MigrationInterface $migration = NULL) {
  $instance = new static($configuration, $pluginId, $pluginDefinition);
  $instance->migration = $migration;
  $instance->entityTypeManager = $container
    ->get('entity_type.manager');
  $instance->entityFieldManager = $container
    ->get('entity_field.manager');
  $instance->selectionPluginManager = $container
    ->get('plugin.manager.entity_reference_selection');
  $pluginIdParts = explode(':', $instance->migration
    ->getDestinationPlugin()
    ->getPluginId());
  $instance->destinationEntityType = empty($pluginIdParts[1]) ? NULL : $pluginIdParts[1];
  $instance->destinationBundleKey = $instance->destinationEntityType ? $instance->entityTypeManager
    ->getDefinition($instance->destinationEntityType)
    ->getKey('bundle') : NULL;
  return $instance;
}