FieldMigration.php

Same filename in other branches
  1. 9 core/modules/migrate_drupal/src/Plugin/migrate/FieldMigration.php
  2. 10 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 {
    
    /**
     * Defines which configuration option has the migration processing function.
     *
     * Default method is 'field_plugin_method'. For backwards compatibility,
     * this constant is overridden in the CckMigration class, in order to
     * fallback to the old 'cck_plugin_method'.
     *
     * @const string
     * @deprecated in drupal:8.7.0 and is removed from drupal:9.0.0. Use the migrate_drupal.field_discovery service instead. See https://www.drupal.org/node/3006076.
     */
    const PLUGIN_METHOD = 'field_plugin_method';
    
    /**
     * 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 $idmap_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 $idmap_plugin_manager, FieldDiscoveryInterface $field_discovery) {
        parent::__construct($configuration, $plugin_id, $plugin_definition, $migration_plugin_manager, $source_plugin_manager, $process_plugin_manager, $destination_plugin_manager, $idmap_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.