interface ContainerInjectionInterface

Same name and namespace in other branches
  1. 9 core/lib/Drupal/Core/DependencyInjection/ContainerInjectionInterface.php \Drupal\Core\DependencyInjection\ContainerInjectionInterface
  2. 8.9.x core/lib/Drupal/Core/DependencyInjection/ContainerInjectionInterface.php \Drupal\Core\DependencyInjection\ContainerInjectionInterface
  3. 10 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

108 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
AnnounceController.php in core/modules/announcements_feed/src/Controller/AnnounceController.php
AssetRoutes.php in core/modules/system/src/Routing/AssetRoutes.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

Title Sort descending Modifiers Object type Summary Overrides
ContainerInjectionInterface::create public static function Instantiates a new instance of this class. 90

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