You are here

public function FormatterExtrasManager::alter in Custom Formatters 8.3

Passes alterable variables to specific methods.

File

src/FormatterExtrasManager.php, line 28

Class

FormatterExtrasManager
Class FormatterExtrasManager.

Namespace

Drupal\custom_formatters

Code

public function alter($method, $entity, &$data, &$context1 = NULL, &$context2 = NULL) {
  $method = $method . "Alter";
  $definitions = $this
    ->getDefinitions();
  if (is_array($definitions) && !empty($definitions)) {
    foreach ($definitions as $definition) {
      $extra = $this
        ->createInstance($definition['id'], [
        'entity' => $entity,
      ]);
      if (method_exists($extra, $method)) {
        $extra
          ->{$method}($data, $context1, $context2);
      }
    }
  }
}