You are here

public static function ExampleMeatballSandwich::create in Examples for Developers 3.x

Same name and namespace in other branches
  1. 8 plugin_type_example/src/Plugin/Sandwich/ExampleMeatballSandwich.php \Drupal\plugin_type_example\Plugin\Sandwich\ExampleMeatballSandwich::create()

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 ContainerFactoryPluginInterface::create

File

modules/plugin_type_example/src/Plugin/Sandwich/ExampleMeatballSandwich.php, line 58

Class

ExampleMeatballSandwich
Provides a meatball sandwich.

Namespace

Drupal\plugin_type_example\Plugin\Sandwich

Code

public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition) {

  // This class needs to translate strings, so we need to inject the string
  // translation service from the container. This means our plugin class has
  // to implement ContainerFactoryPluginInterface. This requires that we make
  // this create() method, and use it to inject services from the container.
  // @see https://www.drupal.org/node/2012118
  $sandwich = new static($configuration, $plugin_id, $plugin_definition, $container
    ->get('string_translation'));
  return $sandwich;
}