public function DisableDeriver::getDerivativeDefinitions in Drupal 7 to 8/9 Module Upgrader 8
Gets the definition of all derivatives of a base plugin.
Parameters
array $base_plugin_definition: The definition array of the base plugin.
Return value
array An array of full derivative definitions keyed on derivative id.
Overrides DeriverInterface::getDerivativeDefinitions
See also
getDerivativeDefinition()
File
- src/
Plugin/ DMU/ Converter/ Functions/ DisableDeriver.php, line 17
Class
- DisableDeriver
- Builds derivative definitions for the _disable plugin, based on a bundled configuration file. This allows us (plugin authors) to easily define which function calls can be commented out.
Namespace
Drupal\drupalmoduleupgrader\Plugin\DMU\Converter\FunctionsCode
public function getDerivativeDefinitions($base_definition) {
$derivatives = [];
$config = \Drupal::config('drupalmoduleupgrader.functions')
->get('definitions');
foreach ($config as $key => $info) {
// Only disable functions that have been explicitly marked for disabling.
if (empty($info['disable'])) {
continue;
}
// $key can either be the name of a single function, or an arbitrary string
// identifying a group of functions to handle.
if (empty($info['functions'])) {
$info['functions'] = [
$key,
];
}
foreach ($info['functions'] as $function) {
$derivative = $base_definition;
$variables = [
'@function' => $function . '()',
];
$derivative['function'] = $function;
$derivative['description'] = $this
->t('Disables calls to @function().', $variables);
if (isset($info['fixme'])) {
$derivative['fixme'] = $this
->t($info['fixme'], $variables);
}
$derivative['documentation'] = $info['documentation'];
$derivatives[$function] = $derivative;
}
}
return $derivatives;
}