function ServiceIdHashTrait::generateServiceIdHash

Same name and namespace in other branches
  1. 9 core/lib/Drupal/Component/DependencyInjection/ServiceIdHashTrait.php \Drupal\Component\DependencyInjection\ServiceIdHashTrait::generateServiceIdHash()
  2. 11.x core/lib/Drupal/Component/DependencyInjection/ServiceIdHashTrait.php \Drupal\Component\DependencyInjection\ServiceIdHashTrait::generateServiceIdHash()

Implements \Drupal\Component\DependencyInjection\ContainerInterface::generateServiceIdHash()

File

core/lib/Drupal/Component/DependencyInjection/ServiceIdHashTrait.php, line 32

Class

ServiceIdHashTrait
A trait for service id hashing implementations.

Namespace

Drupal\Component\DependencyInjection

Code

public function generateServiceIdHash(object $object) : string {
    @trigger_error(__METHOD__ . "() is deprecated in drupal:9.5.1 and is removed from drupal:11.0.0. Use the 'Drupal\\Component\\DependencyInjection\\ReverseContainer' service instead. See https://www.drupal.org/node/3327942", E_USER_DEPRECATED);
    // Include class name as an additional namespace for the hash since
    // spl_object_hash's return can be recycled. This still is not a 100%
    // guarantee to be unique but makes collisions incredibly difficult and even
    // then the interface would be preserved.
    // @see https://php.net/spl_object_hash#refsect1-function.spl-object-hash-notes
    return hash('sha256', get_class($object) . spl_object_hash($object));
}

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