Same name and namespace in other branches
- 9 core/modules/migrate/src/Plugin/migrate/process/Get.php \Drupal\migrate\Plugin\migrate\process\Get
Gets the source value.
Available configuration keys:
- source: Source property.
The get plugin returns the value of the property given by the "source" configuration key.
Examples:
process:
bar:
plugin: get
source: foo
This copies the source value of foo to the destination property "bar".
Since get is the default process plugin, it can be shorthanded like this:
process:
bar:
foo;
Get also supports a list of source properties.
Example:
process:
bar:
plugin: get
source:
- foo1
- foo2
This copies the array of source values [foo1, foo2] to the destination property "bar".
If the list of source properties contains an empty element then the current value will be used. This makes it impossible to reach a source property with an empty string as its name.
Get also supports copying destination values. These are indicated by a starting @ sign. Values using @ must be wrapped in quotes.
process:
foo:
plugin: machine_name
source: baz
bar:
plugin: get
source: '@foo'
This will simply copy the destination value of foo to the destination property bar. foo configuration is included for illustration purposes.
Because of this, if the source or destination property actually starts with a "@", that character must be escaped with "@@". The referenced property becomes, for example, "@@@foo".
process:
'@foo':
plugin: machine_name
source: baz
bar:
plugin: get
source: '@@@foo'
This should occur extremely rarely.
Plugin annotation
@MigrateProcessPlugin(
id = "get"
)
Hierarchy
- class \Drupal\Component\Plugin\PluginBase implements DerivativeInspectionInterface, PluginInspectionInterface
- class \Drupal\Core\Plugin\PluginBase uses DependencySerializationTrait, MessengerTrait, StringTranslationTrait
- class \Drupal\migrate\ProcessPluginBase implements MigrateProcessInterface
- class \Drupal\migrate\Plugin\migrate\process\Get
- class \Drupal\migrate\ProcessPluginBase implements MigrateProcessInterface
- class \Drupal\Core\Plugin\PluginBase uses DependencySerializationTrait, MessengerTrait, StringTranslationTrait
Expanded class hierarchy of Get
See also
\Drupal\migrate\Plugin\MigrateProcessInterface
3 files declare their use of Get
- GetTest.php in core/
modules/ migrate/ tests/ src/ Unit/ process/ GetTest.php - IteratorTest.php in core/
modules/ migrate/ tests/ src/ Unit/ process/ IteratorTest.php - SubProcessTest.php in core/
modules/ migrate/ tests/ src/ Unit/ process/ SubProcessTest.php
File
- core/
modules/ migrate/ src/ Plugin/ migrate/ process/ Get.php, line 94
Namespace
Drupal\migrate\Plugin\migrate\processView source
class Get extends ProcessPluginBase {
/**
* Flag indicating whether there are multiple values.
*
* @var bool
*/
protected $multiple;
/**
* {@inheritdoc}
*/
public function transform($value, MigrateExecutableInterface $migrate_executable, Row $row, $destination_property) {
$source = $this->configuration['source'];
$properties = is_string($source) ? [
$source,
] : $source;
$return = [];
foreach ($properties as $property) {
if ($property || (string) $property === '0') {
$return[] = $row
->get($property);
}
else {
$return[] = $value;
}
}
if (is_string($source)) {
$this->multiple = is_array($return[0]);
return $return[0];
}
return $return;
}
/**
* {@inheritdoc}
*/
public function multiple() {
return $this->multiple;
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
PluginBase:: |
constant | A string which is used to separate base plugin IDs from the derivative ID. | ||
StringTranslationTrait:: |
protected | function | Translates a string to the current language or to a given language. | |
StringTranslationTrait:: |
protected | function | Formats a string containing a count of items. | |
StringTranslationTrait:: |
protected | function | Returns the number of plurals supported by a given language. | |
StringTranslationTrait:: |
protected | function | Gets the string translation service. | |
Get:: |
protected | property | Flag indicating whether there are multiple values. | |
StringTranslationTrait:: |
protected | property | The string translation service. | 1 |
DependencySerializationTrait:: |
protected | property | An array of service IDs keyed by property name used for serialization. | |
DependencySerializationTrait:: |
protected | property | An array of entity type IDs keyed by the property name of their storages. | |
MessengerTrait:: |
protected | property | The messenger. | 29 |
PluginBase:: |
protected | property | The plugin_id. | |
PluginBase:: |
protected | property | The plugin implementation definition. | 1 |
PluginBase:: |
protected | property | Configuration information passed into the plugin. | 1 |
Get:: |
public | function |
Performs the associated process. Overrides ProcessPluginBase:: |
|
Get:: |
public | function |
Indicates whether the returned value requires multiple handling. Overrides ProcessPluginBase:: |
|
StringTranslationTrait:: |
public | function | Sets the string translation service to use. | 2 |
DependencySerializationTrait:: |
public | function | 1 | |
DependencySerializationTrait:: |
public | function | 2 | |
MessengerTrait:: |
public | function | Sets the messenger. | |
MessengerTrait:: |
public | function | Gets the messenger. | 29 |
PluginBase:: |
public | function | Constructs a \Drupal\Component\Plugin\PluginBase object. | 97 |
PluginBase:: |
public | function |
Gets the plugin_id of the plugin instance. Overrides PluginInspectionInterface:: |
|
PluginBase:: |
public | function |
Gets the base_plugin_id of the plugin instance. Overrides DerivativeInspectionInterface:: |
|
PluginBase:: |
public | function |
Gets the derivative_id of the plugin instance. Overrides DerivativeInspectionInterface:: |
|
PluginBase:: |
public | function |
Gets the definition of the plugin implementation. Overrides PluginInspectionInterface:: |
3 |
PluginBase:: |
public | function | Determines if the plugin is configurable. |