currency-8.x-3.3/src/FormElementCallbackTrait.php

src/FormElementCallbackTrait.php
<?php

namespace Drupal\currency;

/**
 * Reusable trait to instantiate form element plugins and call methods on them.
 */
trait FormElementCallbackTrait {

  /**
   * Instantiates this class as a plugin and calls a method on it.
   */
  public static function __callStatic($name, array $arguments) {
    if (preg_match('/^instantiate#(.+?)#(.+?)$/', $name)) {
      [, $method, $plugin_id] = explode('#', $name);
      /** @var \Drupal\Component\Plugin\PluginManagerInterface $element_info_manager */
      $element_info_manager = \Drupal::service('plugin.manager.element_info');
      /** @var \Drupal\currency\Element\CurrencyAmount $element_plugin */
      $element_plugin = $element_info_manager->createInstance($plugin_id);

      return call_user_func_array([$element_plugin, $method], $arguments);
    }
  }

}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc