class FileProcessBase

Same name in other branches
  1. 9 core/modules/migrate/src/Plugin/migrate/process/FileProcessBase.php \Drupal\migrate\Plugin\migrate\process\FileProcessBase
  2. 10 core/modules/migrate/src/Plugin/migrate/process/FileProcessBase.php \Drupal\migrate\Plugin\migrate\process\FileProcessBase
  3. 11.x core/modules/migrate/src/Plugin/migrate/process/FileProcessBase.php \Drupal\migrate\Plugin\migrate\process\FileProcessBase

Provides functionality for file process plugins.

Available configuration keys:

  • file_exists: (optional) Replace behavior when the destination file already exists:

    • 'replace' - (default) Replace the existing file.
    • 'rename' - Append _{incrementing number} until the filename is unique.
    • 'use existing' - Do nothing and return FALSE.

Hierarchy

Expanded class hierarchy of FileProcessBase

File

core/modules/migrate/src/Plugin/migrate/process/FileProcessBase.php, line 19

Namespace

Drupal\migrate\Plugin\migrate\process
View source
abstract class FileProcessBase extends ProcessPluginBase {
    
    /**
     * Constructs a file process plugin.
     *
     * @param array $configuration
     *   The plugin configuration.
     * @param string $plugin_id
     *   The plugin ID.
     * @param mixed $plugin_definition
     *   The plugin definition.
     */
    public function __construct(array $configuration, $plugin_id, array $plugin_definition) {
        if (array_key_exists('file_exists', $configuration)) {
            switch ($configuration['file_exists']) {
                case 'use existing':
                    $configuration['file_exists'] = FileSystemInterface::EXISTS_ERROR;
                    break;
                case 'rename':
                    $configuration['file_exists'] = FileSystemInterface::EXISTS_RENAME;
                    break;
                default:
                    $configuration['file_exists'] = FileSystemInterface::EXISTS_REPLACE;
            }
        }
        if (array_key_exists('reuse', $configuration)) {
            @trigger_error("Using the key 'reuse' is deprecated, use 'file_exists' => 'use existing' instead. See https://www.drupal.org/node/2981389.", E_USER_DEPRECATED);
            if (!empty($configuration['reuse'])) {
                $configuration['file_exists'] = FileSystemInterface::EXISTS_ERROR;
            }
        }
        if (array_key_exists('rename', $configuration)) {
            @trigger_error("Using the key 'rename' is deprecated, use 'file_exists' => 'rename' instead. See https://www.drupal.org/node/2981389.", E_USER_DEPRECATED);
            if (!empty($configuration['rename'])) {
                $configuration['file_exists'] = FileSystemInterface::EXISTS_RENAME;
            }
        }
        $configuration += [
            'file_exists' => FileSystemInterface::EXISTS_REPLACE,
        ];
        parent::__construct($configuration, $plugin_id, $plugin_definition);
    }

}

Members

Title Sort descending Modifiers Object type Summary Overriden Title Overrides
FileProcessBase::__construct public function Constructs a file process plugin. 2
PluginInspectionInterface::getPluginDefinition public function Gets the definition of the plugin implementation. 6
PluginInspectionInterface::getPluginId public function Gets the plugin_id of the plugin instance. 2
ProcessPluginBase::multiple public function Indicates whether the returned value requires multiple handling. Overrides MigrateProcessInterface::multiple 3
ProcessPluginBase::transform public function Performs the associated process. Overrides MigrateProcessInterface::transform 70

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