class MachineName
Same name in this branch
- 8.9.x core/modules/views/src/Plugin/views/field/MachineName.php \Drupal\views\Plugin\views\field\MachineName
- 8.9.x core/lib/Drupal/Core/Render/Element/MachineName.php \Drupal\Core\Render\Element\MachineName
Same name in other branches
- 9 core/modules/views/src/Plugin/views/field/MachineName.php \Drupal\views\Plugin\views\field\MachineName
- 9 core/modules/migrate/src/Plugin/migrate/process/MachineName.php \Drupal\migrate\Plugin\migrate\process\MachineName
- 9 core/lib/Drupal/Core/Render/Element/MachineName.php \Drupal\Core\Render\Element\MachineName
- 10 core/modules/views/src/Plugin/views/field/MachineName.php \Drupal\views\Plugin\views\field\MachineName
- 10 core/modules/migrate/src/Plugin/migrate/process/MachineName.php \Drupal\migrate\Plugin\migrate\process\MachineName
- 10 core/lib/Drupal/Core/Render/Element/MachineName.php \Drupal\Core\Render\Element\MachineName
- 11.x core/modules/views/src/Plugin/views/field/MachineName.php \Drupal\views\Plugin\views\field\MachineName
- 11.x core/modules/migrate/src/Plugin/migrate/process/MachineName.php \Drupal\migrate\Plugin\migrate\process\MachineName
- 11.x core/lib/Drupal/Core/Render/Element/MachineName.php \Drupal\Core\Render\Element\MachineName
Creates a machine name.
The machine_name process plugin takes the source value and runs it through the transliteration service. This makes the source value lowercase, replaces anything that is not a number or a letter with an underscore, and removes duplicate underscores.
Letters will have language decorations and accents removed.
Example:
process:
bar:
plugin: machine_name
source: foo
If the value of foo in the source is 'áéí!' then the destination value of bar will be 'aei_'.
Plugin annotation
@MigrateProcessPlugin(
id = "machine_name"
)
Hierarchy
- class \Drupal\Component\Plugin\PluginBase implements \Drupal\Component\Plugin\PluginInspectionInterface, \Drupal\Component\Plugin\DerivativeInspectionInterface
- class \Drupal\Core\Plugin\PluginBase extends \Drupal\Component\Plugin\PluginBase uses \Drupal\Core\StringTranslation\StringTranslationTrait, \Drupal\Core\DependencyInjection\DependencySerializationTrait, \Drupal\Core\Messenger\MessengerTrait
- class \Drupal\migrate\ProcessPluginBase extends \Drupal\Core\Plugin\PluginBase implements \Drupal\migrate\Plugin\MigrateProcessInterface
- class \Drupal\migrate\Plugin\migrate\process\MachineName extends \Drupal\migrate\ProcessPluginBase implements \Drupal\Core\Plugin\ContainerFactoryPluginInterface
- class \Drupal\migrate\ProcessPluginBase extends \Drupal\Core\Plugin\PluginBase implements \Drupal\migrate\Plugin\MigrateProcessInterface
- class \Drupal\Core\Plugin\PluginBase extends \Drupal\Component\Plugin\PluginBase uses \Drupal\Core\StringTranslation\StringTranslationTrait, \Drupal\Core\DependencyInjection\DependencySerializationTrait, \Drupal\Core\Messenger\MessengerTrait
Expanded class hierarchy of MachineName
See also
\Drupal\migrate\Plugin\MigrateProcessInterface
1 file declares its use of MachineName
- MachineNameTest.php in core/
modules/ migrate/ tests/ src/ Unit/ process/ MachineNameTest.php
4 string references to 'MachineName'
- BlockTemplateSuggestionsTest::testBlockThemeHookSuggestions in core/
modules/ block/ tests/ src/ Kernel/ BlockTemplateSuggestionsTest.php - Tests template suggestions from block_theme_suggestions_block().
- SystemMenuBlockTest::testConfigExpanded in core/
modules/ system/ tests/ src/ Kernel/ Block/ SystemMenuBlockTest.php - Tests the config expanded option.
- SystemMenuBlockTest::testConfigLevelDepth in core/
modules/ system/ tests/ src/ Kernel/ Block/ SystemMenuBlockTest.php - Tests the config start level and depth.
- SystemMenuBlockTest::testSystemMenuBlockConfigDependencies in core/
modules/ system/ tests/ src/ Kernel/ Block/ SystemMenuBlockTest.php - Tests calculation of a system menu block's configuration dependencies.
File
-
core/
modules/ migrate/ src/ Plugin/ migrate/ process/ MachineName.php, line 41
Namespace
Drupal\migrate\Plugin\migrate\processView source
class MachineName extends ProcessPluginBase implements ContainerFactoryPluginInterface {
/**
* The transliteration service.
*
* @var \Drupal\Component\Transliteration\TransliterationInterface
*/
protected $transliteration;
/**
* Constructs a MachineName plugin.
*
* @param array $configuration
* The plugin configuration.
* @param string $plugin_id
* The plugin ID.
* @param mixed $plugin_definition
* The plugin definition.
* @param \Drupal\Component\Transliteration\TransliterationInterface $transliteration
* The transliteration service.
*/
public function __construct(array $configuration, $plugin_id, $plugin_definition, TransliterationInterface $transliteration) {
parent::__construct($configuration, $plugin_id, $plugin_definition);
$this->transliteration = $transliteration;
}
/**
* {@inheritdoc}
*/
public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition) {
return new static($configuration, $plugin_id, $plugin_definition, $container->get('transliteration'));
}
/**
* {@inheritdoc}
*/
public function transform($value, MigrateExecutableInterface $migrate_executable, Row $row, $destination_property) {
$new_value = $this->transliteration
->transliterate($value, LanguageInterface::LANGCODE_DEFAULT, '_');
$new_value = strtolower($new_value);
$new_value = preg_replace('/[^a-z0-9_]+/', '_', $new_value);
return preg_replace('/_+/', '_', $new_value);
}
}
Members
Title Sort descending | Modifiers | Object type | Summary | Overriden Title | Overrides |
---|---|---|---|---|---|
MachineName::$transliteration | protected | property | The transliteration service. | ||
MachineName::create | public static | function | Creates an instance of the plugin. | Overrides ContainerFactoryPluginInterface::create | |
MachineName::transform | public | function | Performs the associated process. | Overrides ProcessPluginBase::transform | |
MachineName::__construct | public | function | Constructs a MachineName plugin. | ||
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 |
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.