Только доктрина может автоматически генерировать uuid для вас при сохранении объектов в базе данных.Вы можете настроить его таким образом в вашей сущности.
/**
*
* @ORM\Id
* @ORM\Column(name="id", type="guid")
* @ORM\GeneratedValue(strategy="UUID")
*/
protected $id;
И это иногда является проблемой, когда вам нужен немедленный UUID для дальнейших инструкций в вашем коде, но вы не можете сохранить объект при этомточка времени.Таким образом, я получил хороший опыт использования этого пакета:
https://packagist.org/packages/ramsey/uuid
<?php
namespace YourBundle\Controller;
use Ramsey\Uuid\Uuid;
/**
* Your controller.
*
* @Route("/whatever")
*/
class YourController extends Controller
{
/**
* @Route("/your/route", name="your_route")
*/
public function yourFunction(Request $request)
{
try {
$uuidGenerator = Uuid::uuid4();
$uuid = $uuidGenerator->toString();
} catch (\Exception $exception) {
// Do something
}
}
}