ClassResolverInterface.php 717 Bytes
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
<?php

/**
 * @file
 * Contains \Drupal\Core\DependencyInjection\ClassResolverInterface.
 */

namespace Drupal\Core\DependencyInjection;

/**
 * Provides an interface to get a instance of a class with dependency injection.
 */
interface ClassResolverInterface {

  /**
   * Returns a class instance with a given class definition.
   *
   * In contrast to controllers you don't specify a method.
   *
   * @param string $definition
   *   A class name or service name.
   *
   * @throws \InvalidArgumentException
   *   If $class is not a valid service identifer and the class does not exist.
   *
   * @return object
   *   The instance of the class.
  */
  public function getInstanceFromDefinition($definition);

}