trait AutowireTrait

Same name and namespace in other branches
  1. 11.x core/lib/Drupal/Core/DependencyInjection/AutowireTrait.php \Drupal\Core\DependencyInjection\AutowireTrait
  2. 10 core/lib/Drupal/Core/DependencyInjection/AutowireTrait.php \Drupal\Core\DependencyInjection\AutowireTrait

Defines a trait for automatically wiring dependencies from the container.

This trait uses reflection and may cause performance issues with classes that will be instantiated multiple times.

Hierarchy

6 files declare their use of AutowireTrait
ContextualController.php in core/modules/contextual/src/ContextualController.php
ControllerBase.php in core/lib/Drupal/Core/Controller/ControllerBase.php
DblogFilterForm.php in core/modules/dblog/src/Form/DblogFilterForm.php
IconFinder.php in core/lib/Drupal/Core/Theme/Icon/IconFinder.php
NodePermissions.php in core/modules/node/src/NodePermissions.php

... See full list

File

core/lib/Drupal/Core/DependencyInjection/AutowireTrait.php, line 13

Namespace

Drupal\Core\DependencyInjection
View source
trait AutowireTrait {
  use AutowiredInstanceTrait;
  
  /**
   * Instantiates a new instance of the implementing class using autowiring.
   *
   * @param \Symfony\Component\DependencyInjection\ContainerInterface $container
   *   The service container this instance should use.
   *
   * @return static
   */
  public static function create(ContainerInterface $container) {
    return static::createInstanceAutowired($container);
  }

}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.