public function DomStrReplace::__construct in Migrate Plus 8.4
Same name and namespace in other branches
- 8.5 src/Plugin/migrate/process/DomStrReplace.php \Drupal\migrate_plus\Plugin\migrate\process\DomStrReplace::__construct()
Constructs a \Drupal\Component\Plugin\PluginBase object.
Parameters
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.
Overrides PluginBase::__construct
File
- src/
Plugin/ migrate/ process/ DomStrReplace.php, line 69
Class
- DomStrReplace
- String replacements on a source dom.
Namespace
Drupal\migrate_plus\Plugin\migrate\processCode
public function __construct(array $configuration, $plugin_id, $plugin_definition) {
parent::__construct($configuration, $plugin_id, $plugin_definition);
$this->configuration += [
'case_insensitive' => FALSE,
'regex' => FALSE,
];
$options_validation = [
'expression' => NULL,
'mode' => [
'attribute',
],
// @todo Move out once another mode is supported.
// @see https://www.drupal.org/project/migrate_plus/issues/3042833
'attribute_options' => NULL,
'search' => NULL,
'replace' => NULL,
];
foreach ($options_validation as $option_name => $possible_values) {
if (empty($this->configuration[$option_name])) {
throw new InvalidPluginDefinitionException($this
->getPluginId(), "Configuration option '{$option_name}' is required.");
}
if (!is_null($possible_values) && !in_array($this->configuration[$option_name], $possible_values)) {
throw new InvalidPluginDefinitionException($this
->getPluginId(), sprintf('Configuration option "%s" only accepts the following values: %s.', $option_name, implode(', ', $possible_values)));
}
}
}