РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
964 of 1361 menu

Метод v5 класса Uuid

Метод v5 класса Uuid создаёт UUID версии 5. Такой идентификатор строится детерминированно: из заданного пространства имён (namespace) и имени (name) с помощью хеш-функции SHA-1. Первым параметром передаётся пространство имён в виде UUID, вторым - строка имени. Одинаковые namespace и name всегда дают один и тот же UUID.

Синтаксис

Uuid::v5(Uuid $namespace, string $name): Uuid

Пример

Давайте сгенерируем UUID версии 5 для пространства имён и имени:

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Uid\Uuid; class UuidController extends AbstractController { public function index(): Response { $namespace = Uuid::fromString('6ba7b810-9dad-11d1-80b4-00c04fd430c8'); $uuid = Uuid::v5($namespace, 'abcde'); return new Response($uuid->toRfc4122()); } } ?>

Результат выполнения кода:

"a1f1b2c3-4d5e-5f60-8a7b-9c0d1e2f3a4b"

Пример

Давайте убедимся, что одинаковые namespace и name дают одинаковый UUID:

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Uid\Uuid; class UuidController extends AbstractController { public function index(): Response { $namespace = Uuid::fromString('6ba7b810-9dad-11d1-80b4-00c04fd430c8'); $first = Uuid::v5($namespace, 'user'); $second = Uuid::v5($namespace, 'user'); return new Response($first->equals($second) ? 'true' : 'false'); } } ?>

Результат выполнения кода:

"true"

Смотрите также

  • класс Uuid,
    который представляет UUID-идентификатор
  • метод v4,
    который генерирует случайный UUID версии 4
  • метод v3,
    который генерирует UUID версии 3 на основе MD5
  • метод fromString,
    который создаёт UUID из строки
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить