
Vous souhaitez intégrer une gestion par Uuid pour votre entité? Excellente idée!
Pour vous simplifier la vie, il existe un package pour ça :)
Installez le package suivant avec composer :
Pour vous simplifier la vie, il existe un package pour ça :)
Installez le package suivant avec composer :
composer require ramsey/uuid-doctrine
Ce package est compatible avec flex, le fichier de configuration est créé automatiquement :
# config/packages/ramsey_uuid_doctrine.yaml
doctrine:
dbal:
types:
uuid: 'Ramsey\Uuid\Doctrine\UuidType'
Pour l'utiliser dans votre entité :
/**
* @var UuidInterface
*
* @ORM\Column(type="uuid", unique=true)
*/
protected $uuid;
/**
* @return UuidInterface
*/
public function getUuid()
{
return $this->uuid;
}
Il faut ajouter dans le constructeur de votre entité :
public function __construct()
{
$this->uuid = Uuid::uuid4();
}
Un Uuid sera généré automatiquement...
Ici, j'ai choisi l'uuid4, il en existe d'autres, vous trouverez cela sur la doc : https://github.com/ramsey/uuid/wiki/Ramsey%5CUuid-Cookbook
Il existe une méthode d'implémentation différente avec des annotations décrite dans la doc, reposant sur des annotations et un poil plus de configuration.
Voici le lien vers la documentation : https://github.com/ramsey/uuid-doctrine
Perso, je préfère la solution la plus simple, avec un constructeur...
Voici le lien vers la documentation : https://github.com/ramsey/uuid-doctrine
Perso, je préfère la solution la plus simple, avec un constructeur...
Commentaires
Ajoutez votre commentaire