Метод generate класса Ulid
Метод generate класса Ulid
создаёт новый объект ULID. ULID - это
универсальный уникальный лексикографически
сортируемый идентификатор. Он состоит из
метки времени в миллисекундах и случайной
части. Метод не принимает параметров и
возвращает новый экземпляр Ulid.
Синтаксис
Ulid::generate()
Пример
Давайте сгенерируем новый ULID и выведем его:
<?php
namespace AppController;
use SymfonyBundleFrameworkBundleControllerAbstractController;
use SymfonyComponentHttpFoundationResponse;
use SymfonyComponentUidUlid;
class UlidController extends AbstractController
{
public function index(): Response
{
$ulid = Ulid::generate();
return new Response($ulid->toRfc4122());
}
}
?>
Результат выполнения кода:
"01h8xgw3z8v3n9k2m4p6q7r8s9"
Пример
Давайте сгенерируем несколько ULID и сравним их сортировку:
<?php
namespace AppController;
use SymfonyBundleFrameworkBundleControllerAbstractController;
use SymfonyComponentHttpFoundationResponse;
use SymfonyComponentUidUlid;
class UlidController extends AbstractController
{
public function index(): Response
{
$first = Ulid::generate();
$second = Ulid::generate();
$res = [
$first->toBase32(),
$second->toBase32(),
];
return new Response(implode(', ', $res));
}
}
?>
Результат выполнения кода:
["01h8xgw3z8v3n9k2m4p6q7r8s9", "01h8xgw3z8v3n9k2m4p6q7r8s10"]
Пример
Давайте получим дату и время из сгенерированного ULID:
<?php
namespace AppController;
use SymfonyBundleFrameworkBundleControllerAbstractController;
use SymfonyComponentHttpFoundationResponse;
use SymfonyComponentUidUlid;
class UlidController extends AbstractController
{
public function index(): Response
{
$ulid = Ulid::generate();
$datetime = $ulid->getDateTime();
return new Response($datetime->format('Y-m-d H:i:s'));
}
}
?>
Результат выполнения кода:
"2023-09-15 12:34:56"
Смотрите также
-
класс
Ulid,
который представляет ULID-идентификатор -
метод
fromString,
который создаёт ULID из строки -
метод
toRfc4122,
который возвращает ULID в формате RFC 4122 -
метод
toBase32,
который возвращает ULID в формате Base32