You are here

public static function GeneralUserReferenceFormatter::create in Formatter Suite 8

Creates an instance of the plugin.

Parameters

\Symfony\Component\DependencyInjection\ContainerInterface $container: The container to pull out services used in the plugin.

array $configuration: A configuration array containing information about the plugin instance.

string $plugin_id: The plugin ID for the plugin instance.

mixed $plugin_definition: The plugin implementation definition.

Return value

static Returns an instance of this plugin.

Overrides FormatterBase::create

File

src/Plugin/Field/FieldFormatter/GeneralUserReferenceFormatter.php, line 134

Class

GeneralUserReferenceFormatter
Formats a user entity reference as one or more links.

Namespace

Drupal\formatter_suite\Plugin\Field\FieldFormatter

Code

public static function create(ContainerInterface $container, array $configuration, $pluginId, $pluginDefinition) {
  $tokenService = NULL;
  try {
    $tokenService = $container
      ->get('token');
  } catch (\Exception $e) {

    // Token services are not available? How? This is a core service.
  }
  $tokenTreeBuilder = NULL;
  try {
    $tokenTreeBuilder = $container
      ->get('token.tree_builder');
  } catch (\Exception $e) {

    // The contributed Token module is not installed.
  }
  $userSettings = NULL;
  try {
    $userSettings = $container
      ->get('config.factory')
      ->get('user.settings');
  } catch (\Exception $e) {

    // The configuration is missing?
  }
  return new static($pluginId, $pluginDefinition, $configuration['field_definition'], $configuration['settings'], $configuration['label'], $configuration['view_mode'], $configuration['third_party_settings'], $tokenService, $tokenTreeBuilder, $userSettings);
}