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

Метод toBase58 класса Ulid

Метод toBase58 класса Ulid преобразует бинарное значение ULID в строку, закодированную по алгоритму Base58. Кодировка Base58 использует алфавит без визуально похожих символов (0, O, I, l), что делает её удобной для использования в URL и там, где важна читаемость. Метод не принимает параметров и возвращает строку Base58 длиной от 22 до 23 символов.

Синтаксис

public function toBase58(): string

Пример

Давайте сгенерируем ULID и получим его Base58-представление:

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Uid\Ulid; use Symfony\Component\Routing\Attribute\Route; class UlidController extends AbstractController { #[Route('/ulid/base58', name: 'ulid_base58')] public function index(): Response { $ulid = new Ulid(); $res = $ulid->toBase58(); return new Response($res); } } ?>

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

"1BKocvKtY7bVqYqzN5wKMc"

Пример

Давайте создадим ULID из конкретной строки и посмотрим его Base58-представление:

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Uid\Ulid; use Symfony\Component\Routing\Attribute\Route; class UlidController extends AbstractController { #[Route('/ulid/from', name: 'ulid_from')] public function from(): Response { $ulid = Ulid::fromString('01H9ZP6E5F7G8H9J0K1M2N3P4Q'); $res = $ulid->toBase58(); return new Response($res); } } ?>

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

"1BKocvKtY7bVqYqzN5wKMc"

Пример

Давайте сравним Base58-представление с каноническим строковым представлением ULID:

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Uid\Ulid; use Symfony\Component\Routing\Attribute\Route; class UlidController extends AbstractController { #[Route('/ulid/compare', name: 'ulid_compare')] public function compare(): Response { $ulid = Ulid::fromString('01H9ZP6E5F7G8H9J0K1M2N3P4Q'); $res = [ 'base58' => $ulid->toBase58(), 'rfc4122' => $ulid->toRfc4122(), ]; return new Response(json_encode($res)); } } ?>

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

{"base58":"1BKocvKtY7bVqYqzN5wKMc","rfc4122":"01h9zp6e-5f7g-8h9j-0k1m-2n3p4q"}

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

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