function DeprecatedServicePropertyTrait::__get

Same name and namespace in other branches
  1. 9 core/lib/Drupal/Core/DependencyInjection/DeprecatedServicePropertyTrait.php \Drupal\Core\DependencyInjection\DeprecatedServicePropertyTrait::__get()
  2. 8.9.x core/lib/Drupal/Core/DependencyInjection/DeprecatedServicePropertyTrait.php \Drupal\Core\DependencyInjection\DeprecatedServicePropertyTrait::__get()
  3. 11.x core/lib/Drupal/Core/DependencyInjection/DeprecatedServicePropertyTrait.php \Drupal\Core\DependencyInjection\DeprecatedServicePropertyTrait::__get()

Allows to access deprecated/removed properties.

This method must be public.

File

core/lib/Drupal/Core/DependencyInjection/DeprecatedServicePropertyTrait.php, line 15

Class

DeprecatedServicePropertyTrait
Provides a standard way to announce deprecated properties.

Namespace

Drupal\Core\DependencyInjection

Code

public function __get($name) {
    if (!isset($this->deprecatedProperties)) {
        throw new \LogicException('The deprecatedProperties property must be defined to use this trait.');
    }
    if (isset($this->deprecatedProperties[$name])) {
        $service_name = $this->deprecatedProperties[$name];
        $class_name = static::class;
        // phpcs:ignore Drupal.Semantics.FunctionTriggerError
        @trigger_error("The property {$name} ({$service_name} service) is deprecated in {$class_name} and will be removed before Drupal 11.0.0.", E_USER_DEPRECATED);
        return \Drupal::service($service_name);
    }
}

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