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

Класс Uuid

Класс Uuid является частью компонента Serializer и предназначен для создания и управления уникальными идентификаторами. Он позволяет генерировать UUID различных версий, преобразовывать их в строки и бинарный формат, а также сравнивать между собой. Класс является неизменяемым, то есть после создания объекта его значение изменить нельзя.

Синтаксис

use SymfonyComponentUidUuid; // Создание UUID $uuid = Uuid::v4(); // Преобразование в строку $str = $uuid->toRfc4122();

Пример

Давайте сгенерируем случайный UUID версии 4 и выведем его:

<?php namespace AppController; use SymfonyBundleFrameworkBundleControllerAbstractController; use SymfonyComponentHttpFoundationResponse; use SymfonyComponentUidUuid; class UuidController extends AbstractController { public function index(): Response { $uuid = Uuid::v4(); return new Response($uuid->toRfc4122()); } } ?>

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

"f47ac10b-58cc-4372-a567-0e02b2c3d479"

Пример

Давайте создадим UUID из существующей строки и проверим его валидность:

<?php namespace AppController; use SymfonyBundleFrameworkBundleControllerAbstractController; use SymfonyComponentHttpFoundationResponse; use SymfonyComponentUidUuid; class UuidController extends AbstractController { public function index(): Response { $uuid = Uuid::fromString('f47ac10b-58cc-4372-a567-0e02b2c3d479'); if ($uuid->equals(Uuid::fromString('f47ac10b-58cc-4372-a567-0e02b2c3d479'))) { return new Response('UUIDs are equal'); } return new Response('UUIDs are different'); } } ?>

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

"UUIDs are equal"

Пример

Давайте сохраним UUID в сущность с помощью Doctrine:

<?php namespace AppEntity; use DoctrineORMMapping as ORM; use SymfonyComponentUidUuid; #[ORMEntity] class Article { #[ORMId] #[ORMColumn(type: 'uuid', unique: true)] private Uuid $id; #[ORMColumn(type: 'string', length: 255)] private string $title; public function __construct() { $this->id = Uuid::v4(); } public function getId(): Uuid { return $this->id; } public function getTitle(): string { return $this->title; } public function setTitle(string $title): self { $this->title = $title; return $this; } } ?>

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

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