Метод fromString класса Uuid
Метод fromString класса Uuid создаёт объект UUID
из строки. Первым параметром передаётся строковое
представление UUID в формате RFC 4122. Если строка
некорректна, метод выбрасывает исключение
InvalidArgumentException.
Синтаксис
Uuid::fromString(string $uuid): Uuid
Пример
Давайте создадим объект UUID из строки:
<?php
namespace AppController;
use SymfonyBundleFrameworkBundleControllerAbstractController;
use SymfonyComponentHttpFoundationResponse;
use SymfonyComponentUidUuid;
class ArticleController extends AbstractController
{
public function index(): Response
{
$uuid = Uuid::fromString('123e4567-e89b-12d3-a456-426614174000');
return new Response($uuid->toRfc4122());
}
}
?>
Результат выполнения кода:
"123e4567-e89b-12d3-a456-426614174000"
Пример
Давайте создадим объект UUID из строки и сравним его с другим UUID:
<?php
namespace AppController;
use SymfonyBundleFrameworkBundleControllerAbstractController;
use SymfonyComponentHttpFoundationResponse;
use SymfonyComponentUidUuid;
class ArticleController extends AbstractController
{
public function index(): Response
{
$uuid1 = Uuid::fromString('123e4567-e89b-12d3-a456-426614174000');
$uuid2 = Uuid::fromString('123e4567-e89b-12d3-a456-426614174000');
$res = $uuid1->equals($uuid2);
return new Response($res ? 'equal' : 'not equal');
}
}
?>
Результат выполнения кода:
"equal"
Пример
Давайте попробуем создать UUID из некорректной строки:
<?php
namespace AppController;
use SymfonyBundleFrameworkBundleControllerAbstractController;
use SymfonyComponentHttpFoundationResponse;
use SymfonyComponentUidUuid;
class ArticleController extends AbstractController
{
public function index(): Response
{
try {
$uuid = Uuid::fromString('not-a-uuid');
return new Response($uuid->toRfc4122());
} catch (\InvalidArgumentException $e) {
return new Response('invalid uuid');
}
}
}
?>
Результат выполнения кода:
"invalid uuid"