class AutowireTestClass

Same name and namespace in other branches
  1. main core/tests/Drupal/Tests/Core/DependencyInjection/AutowiredInstanceTraitTest.php \Drupal\Tests\Core\DependencyInjection\AutowireTestClass

Test class covering service and parameter autowiring scenarios.

Hierarchy

Expanded class hierarchy of AutowireTestClass

File

core/tests/Drupal/Tests/Core/DependencyInjection/AutowiredInstanceTraitTest.php, line 95

Namespace

Drupal\Tests\Core\DependencyInjection
View source
class AutowireTestClass {
  use AutowiredInstanceTrait;
  
  /**
   * An injected service.
   */
  public \stdClass $setterTypedService;
  
  /**
   * An injected service.
   */
  public \stdClass $setterNamedService;
  
  /**
   * An injected parameter.
   */
  public string $setterParameter;
  public function __construct(public readonly mixed $configuration, public readonly string $pluginId, public readonly array $pluginDefinition, public readonly \stdClass $serviceByType, #[Autowire(service: 'custom.service')] public readonly \stdClass $serviceById, #[Autowire('@custom.service')] public readonly \stdClass $serviceByShortId, #[Autowire(param: 'array.parameter')] public readonly array $arrayParameter, #[Autowire('%string.parameter%')] public readonly string $stringParameter, #[Autowire('@nullable.service')] public readonly ?object $nullableService = NULL, #[Autowire(param: 'nullable.parameter')] public readonly ?string $nullableParameter = NULL) {
  }
  public function setTypedService(\stdClass $service) : void {
    $this->setterTypedService = $service;
  }
  public function setNamedService(#[Autowire(service: 'setter.service')] $service) : void {
    $this->setterNamedService = $service;
  }
  public function setParameter(#[Autowire('%setter.parameter%')] string $parameter) : void {
    $this->setterParameter = $parameter;
  }

}

Members

Title Sort descending Modifiers Object type Summary
AutowiredInstanceTrait::createInstanceAutowired public static function Instantiates a new instance of the implementing class using autowiring.
AutowiredInstanceTrait::getAutowireArguments private static function Resolves arguments for a method using autowiring.
AutowireTestClass::$setterNamedService public property An injected service.
AutowireTestClass::$setterParameter public property An injected parameter.
AutowireTestClass::$setterTypedService public property An injected service.
AutowireTestClass::setNamedService public function #[Required]
AutowireTestClass::setParameter public function #[Required]
AutowireTestClass::setTypedService public function #[Required]
AutowireTestClass::__construct public function

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