ContainerInjectionInterface.php

Same filename and directory in other branches
  1. 9 core/lib/Drupal/Core/DependencyInjection/ContainerInjectionInterface.php
  2. 8.9.x core/lib/Drupal/Core/DependencyInjection/ContainerInjectionInterface.php
  3. 10 core/lib/Drupal/Core/DependencyInjection/ContainerInjectionInterface.php

Namespace

Drupal\Core\DependencyInjection

File

core/lib/Drupal/Core/DependencyInjection/ContainerInjectionInterface.php

View source
<?php

namespace Drupal\Core\DependencyInjection;

use Symfony\Component\DependencyInjection\ContainerInterface;

/**
 * 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.
 */
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);

}

Interfaces

Title Deprecated Summary
ContainerInjectionInterface Defines a common interface for dependency container injection.

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