FieldMigration.php

Same filename in other branches
  1. 9 core/modules/migrate_drupal/src/Plugin/migrate/FieldMigration.php
  2. 8.9.x core/modules/migrate_drupal/src/Plugin/migrate/FieldMigration.php
  3. 11.x core/modules/migrate_drupal/src/Plugin/migrate/FieldMigration.php

Namespace

Drupal\migrate_drupal\Plugin\migrate

File

core/modules/migrate_drupal/src/Plugin/migrate/FieldMigration.php

View source
<?php

namespace Drupal\migrate_drupal\Plugin\migrate;

use Drupal\Core\Plugin\ContainerFactoryPluginInterface;
use Drupal\migrate\Plugin\MigrateDestinationPluginManager;
use Drupal\migrate\Plugin\MigratePluginManager;
use Drupal\migrate\Plugin\Migration;
use Drupal\migrate\Plugin\MigrationPluginManagerInterface;
use Drupal\migrate_drupal\FieldDiscoveryInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;

/**
 * Migration plugin class for migrations dealing with field config and values.
 */
class FieldMigration extends Migration implements ContainerFactoryPluginInterface {
    
    /**
     * Flag indicating whether the field data has been filled already.
     *
     * @var bool
     */
    protected $init = FALSE;
    
    /**
     * The migration field discovery service.
     *
     * @var \Drupal\migrate_drupal\FieldDiscoveryInterface
     */
    protected $fieldDiscovery;
    
    /**
     * Constructs a FieldMigration.
     *
     * @param array $configuration
     *   Plugin configuration.
     * @param string $plugin_id
     *   The plugin ID.
     * @param mixed $plugin_definition
     *   The plugin definition.
     * @param \Drupal\migrate\Plugin\MigrationPluginManagerInterface $migration_plugin_manager
     *   The migration plugin manager.
     * @param \Drupal\migrate\Plugin\MigratePluginManager $source_plugin_manager
     *   The source migration plugin manager.
     * @param \Drupal\migrate\Plugin\MigratePluginManager $process_plugin_manager
     *   The process migration plugin manager.
     * @param \Drupal\migrate\Plugin\MigrateDestinationPluginManager $destination_plugin_manager
     *   The destination migration plugin manager.
     * @param \Drupal\migrate\Plugin\MigratePluginManager $id_map_plugin_manager
     *   The ID map migration plugin manager.
     * @param \Drupal\migrate_drupal\FieldDiscoveryInterface $field_discovery
     *   The migration field discovery service.
     */
    public function __construct(array $configuration, $plugin_id, $plugin_definition, MigrationPluginManagerInterface $migration_plugin_manager, MigratePluginManager $source_plugin_manager, MigratePluginManager $process_plugin_manager, MigrateDestinationPluginManager $destination_plugin_manager, MigratePluginManager $id_map_plugin_manager, FieldDiscoveryInterface $field_discovery) {
        parent::__construct($configuration, $plugin_id, $plugin_definition, $migration_plugin_manager, $source_plugin_manager, $process_plugin_manager, $destination_plugin_manager, $id_map_plugin_manager);
        $this->fieldDiscovery = $field_discovery;
    }
    
    /**
     * {@inheritdoc}
     */
    public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition) {
        return new static($configuration, $plugin_id, $plugin_definition, $container->get('plugin.manager.migration'), $container->get('plugin.manager.migrate.source'), $container->get('plugin.manager.migrate.process'), $container->get('plugin.manager.migrate.destination'), $container->get('plugin.manager.migrate.id_map'), $container->get('migrate_drupal.field_discovery'));
    }
    
    /**
     * {@inheritdoc}
     */
    public function getProcess() {
        if (!$this->init) {
            $this->init = TRUE;
            $this->fieldDiscovery
                ->addAllFieldProcesses($this);
        }
        return parent::getProcess();
    }

}

Classes

Title Deprecated Summary
FieldMigration Migration plugin class for migrations dealing with field config and values.

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.