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