You are here

class MigrationEventSubscriber in Migrate Devel 8.2

Same name and namespace in other branches
  1. 8 src/EventSubscriber/MigrationEventSubscriber.php \Drupal\migrate_devel\EventSubscriber\MigrationEventSubscriber

MigrationEventSubscriber for Debugging Migrations.

@class MigrationEventSubscriber

Hierarchy

  • class \Drupal\migrate_devel\EventSubscriber\MigrationEventSubscriber implements \Symfony\Component\EventDispatcher\EventSubscriberInterface

Expanded class hierarchy of MigrationEventSubscriber

1 string reference to 'MigrationEventSubscriber'
migrate_devel.services.yml in ./migrate_devel.services.yml
migrate_devel.services.yml
1 service uses MigrationEventSubscriber
migrate_devel.migrate_event_subscriber in ./migrate_devel.services.yml
Drupal\migrate_devel\EventSubscriber\MigrationEventSubscriber

File

src/EventSubscriber/MigrationEventSubscriber.php, line 15

Namespace

Drupal\migrate_devel\EventSubscriber
View source
class MigrationEventSubscriber implements EventSubscriberInterface {

  /**
   * Pre Row Save Function for --migrate-debug-pre.
   *
   * @param \Drupal\migrate\Event\MigratePreRowSaveEvent $event
   *    Pre-Row-Save Migrate Event.
   */
  public function debugRowPreSave(MigratePreRowSaveEvent $event) {
    if (PHP_SAPI !== 'cli') {
      return;
    }
    $row = $event
      ->getRow();
    if (in_array('migrate-debug-pre', \Drush\Drush::config()
      ->get('runtime.options'))) {

      // Start with capital letter for variables since this is actually a label.
      $Source = $row
        ->getSource();
      $Destination = $row
        ->getDestination();

      // Uses Symfony VarDumper.
      // @todo Explore advanced usage of CLI dumper class for nicer output.
      // https://www.drupal.org/project/migrate_devel/issues/3151276
      dump('---------------------------------------------------------------------', '|                             $Source                               |', '---------------------------------------------------------------------', $Source, '---------------------------------------------------------------------', '|                           $Destination                            |', '---------------------------------------------------------------------', $Destination);
    }
  }

  /**
   * Post Row Save Function for --migrate-debug.
   *
   * @param \Drupal\migrate\Event\MigratePostRowSaveEvent $event
   *   Post-Row-Save Migrate Event.
   */
  public function debugRowPostSave(MigratePostRowSaveEvent $event) {
    if (PHP_SAPI !== 'cli') {
      return;
    }
    $row = $event
      ->getRow();
    if (in_array('migrate-debug', \Drush\Drush::config()
      ->get('runtime.options'))) {

      // Start with capital letter for variables since this is actually a label.
      $Source = $row
        ->getSource();
      $Destination = $row
        ->getDestination();
      $DestinationIDValues = $event
        ->getDestinationIdValues();

      // Uses Symfony VarDumper.
      // @todo Explore advanced usage of CLI dumper class for nicer output.
      // https://www.drupal.org/project/migrate_devel/issues/3151276
      dump('---------------------------------------------------------------------', '|                             $Source                               |', '---------------------------------------------------------------------', $Source, '---------------------------------------------------------------------', '|                           $Destination                            |', '---------------------------------------------------------------------', $Destination, '---------------------------------------------------------------------', '|                       $DestinationIdValues                        |', '---------------------------------------------------------------------', $DestinationIDValues);
    }
  }

  /**
   * {@inheritdoc}
   */
  public static function getSubscribedEvents() {
    $events[MigrateEvents::PRE_ROW_SAVE][] = [
      'debugRowPreSave',
    ];
    $events[MigrateEvents::POST_ROW_SAVE][] = [
      'debugRowPostSave',
    ];
    return $events;
  }

}

Members

Namesort descending Modifiers Type Description Overrides
MigrationEventSubscriber::debugRowPostSave public function Post Row Save Function for --migrate-debug.
MigrationEventSubscriber::debugRowPreSave public function Pre Row Save Function for --migrate-debug-pre.
MigrationEventSubscriber::getSubscribedEvents public static function Returns an array of event names this subscriber wants to listen to.