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

Класс Ulid

Класс Ulid представляет собой реализацию Universally Unique Lexicographically Sortable Identifier. Он используется для создания уникальных идентификаторов, которые можно сортировать как строки. В отличие от класса Uuid, Ulid содержит встроенную метку времени, что делает его удобным для сортировки по времени создания. Идентификатор состоит из 128 бит: 48 бит отводятся под временную метку, а 80 бит - под случайную часть. Класс предоставляет методы для генерации, преобразования и сравнения идентификаторов.

Синтаксис

use SymfonyComponentUidUlid; $ulid = new Ulid();

Пример

Давайте создадим новый объект Ulid и выведем его строковое представление:

<?php namespace AppController; use SymfonyBundleFrameworkBundleControllerAbstractController; use SymfonyComponentHttpFoundationResponse; use SymfonyComponentUidUlid; class UlidController extends AbstractController { public function index(): Response { $ulid = new Ulid(); return new Response((string) $ulid); } } ?>

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

01HZX8Y9K5Q7V3N2M4P6R8T0W1

Пример

Давайте сгенерируем идентификатор с помощью статического метода generate:

<?php namespace AppController; use SymfonyBundleFrameworkBundleControllerAbstractController; use SymfonyComponentHttpFoundationResponse; use SymfonyComponentUidUlid; class UlidController extends AbstractController { public function index(): Response { $ulid = Ulid::generate(); return new Response((string) $ulid); } } ?>

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

01HZX8Y9K5Q7V3N2M4P6R8T0W1

Пример

Давайте создадим идентификатор из строки с помощью метода fromString:

<?php namespace AppController; use SymfonyBundleFrameworkBundleControllerAbstractController; use SymfonyComponentHttpFoundationResponse; use SymfonyComponentUidUlid; class UlidController extends AbstractController { public function index(): Response { $ulid = Ulid::fromString('01HZX8Y9K5Q7V3N2M4P6R8T0W1'); return new Response((string) $ulid); } } ?>

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

01HZX8Y9K5Q7V3N2M4P6R8T0W1

Пример

Давайте получим дату и время из идентификатора с помощью метода getDateTime:

<?php namespace AppController; use SymfonyBundleFrameworkBundleControllerAbstractController; use SymfonyComponentHttpFoundationResponse; use SymfonyComponentUidUlid; class UlidController extends AbstractController { public function index(): Response { $ulid = Ulid::fromString('01HZX8Y9K5Q7V3N2M4P6R8T0W1'); $dateTime = $ulid->getDateTime(); return new Response($dateTime->format('Y-m-d H:i:s')); } } ?>

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

2024-06-15 12:30:45

Пример

Давайте сравним два идентификатора с помощью метода equals:

<?php namespace AppController; use SymfonyBundleFrameworkBundleControllerAbstractController; use SymfonyComponentHttpFoundationResponse; use SymfonyComponentUidUlid; class UlidController extends AbstractController { public function index(): Response { $ulid1 = Ulid::fromString('01HZX8Y9K5Q7V3N2M4P6R8T0W1'); $ulid2 = Ulid::fromString('01HZX8Y9K5Q7V3N2M4P6R8T0W1'); $res = $ulid1->equals($ulid2); return new Response($res ? 'true' : 'false'); } } ?>

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

"true"

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

  • класс Uuid,
    который генерирует уникальные идентификаторы
  • метод generate,
    который создаёт новый Ulid
  • метод fromString,
    который создаёт Ulid из строки
  • метод getDateTime,
    который возвращает дату и время из Ulid
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить