You are here

interface ContainerInjectionInterface in Drupal 10

Same name and namespace in other branches
  1. 8 core/lib/Drupal/Core/DependencyInjection/ContainerInjectionInterface.php \Drupal\Core\DependencyInjection\ContainerInjectionInterface
  2. 9 core/lib/Drupal/Core/DependencyInjection/ContainerInjectionInterface.php \Drupal\Core\DependencyInjection\ContainerInjectionInterface

Defines a common interface for dependency container injection.

This interface gives classes who need services a factory method for instantiation rather than defining a new service.

Hierarchy

Expanded class hierarchy of ContainerInjectionInterface

All classes that implement ContainerInjectionInterface

90 files declare their use of ContainerInjectionInterface
AccessCheck.php in core/modules/system/tests/modules/menu_test/src/Access/AccessCheck.php
AddSectionController.php in core/modules/layout_builder/src/Controller/AddSectionController.php
AllowedValuesConstraintValidator.php in core/lib/Drupal/Core/Validation/Plugin/Validation/Constraint/AllowedValuesConstraintValidator.php
BatchController.php in core/modules/system/src/Controller/BatchController.php
BookOutlineConstraintValidator.php in core/modules/book/src/Plugin/Validation/Constraint/BookOutlineConstraintValidator.php

... See full list

File

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

Namespace

Drupal\Core\DependencyInjection
View source
interface ContainerInjectionInterface {

  /**
   * Instantiates a new instance of this class.
   *
   * This is a factory method that returns a new instance of this class. The
   * factory should pass any needed dependencies into the constructor of this
   * class, but not the container itself. Every call to this method must return
   * a new instance of this class; that is, it may not implement a singleton.
   *
   * @param \Symfony\Component\DependencyInjection\ContainerInterface $container
   *   The service container this instance should use.
   */
  public static function create(ContainerInterface $container);

}

Members