Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. DefaultNameGenerator.php

class DefaultNameGenerator

DefaultNameGenerator generates strings of binary data based on a namespace, name, and hashing algorithm

Hierarchy

  • class \Ramsey\Uuid\Generator\DefaultNameGenerator implements \Ramsey\Uuid\Generator\NameGeneratorInterface

Expanded class hierarchy of DefaultNameGenerator

File

vendor/ramsey/uuid/src/Generator/DefaultNameGenerator.php, line 27

Namespace

Ramsey\Uuid\Generator
View source
class DefaultNameGenerator implements NameGeneratorInterface {
    
    /** @psalm-pure */
    public function generate(UuidInterface $ns, string $name, string $hashAlgorithm) : string {
        try {
            
            /** @var string|bool $bytes */
            $bytes = @hash($hashAlgorithm, $ns->getBytes() . $name, true);
        } catch (ValueError $e) {
            $bytes = false;
            // keep same behavior than PHP 7
        }
        if ($bytes === false) {
            throw new NameException(sprintf('Unable to hash namespace and name with algorithm \'%s\'', $hashAlgorithm));
        }
        return (string) $bytes;
    }

}

Members

Title Sort descending Modifiers Object type Summary Overriden Title
DefaultNameGenerator::generate public function @psalm-pure Overrides NameGeneratorInterface::generate
RSS feed
Powered by Drupal