Générer un UUID version 4 en PHP avec WordPress

En informatique, la génération d’un « identifiant universel unique » est très souvent nécessaire pour permettre d’identifier des entités de manière unique et sûre. Voyons comment générer un tel identifiant en PHP avec une fonction WordPress.

Wikipedia définit un UUID de la manière suivante :

Universally Unique IDentifier (UUID), de l’anglais signifiant littéralement « identifiant universel unique », est en informatique un système permettant à des systèmes distribués d’identifier de façon unique une information sans coordination centrale importante. Dans ce contexte, le mot « unique » doit être pris au sens de « unicité très probable » plutôt que « garantie d’unicité ».

Wikipedia

Plusieurs versions d’UUID existent : la version 4 (décrite par le RFC 4122), très répandue, génère une chaîne de 36 caractères (32 caractères et 4 tirets) de manière totalement aléatoire.

Un UUID permet une identification plus complexe et — à forte chance — unique. La probabilité d’obtenir deux fois la même chaîne de 36 caractères dans votre système est très infime.

La preuve : si vous générez 1 milliard d’UUIDs chaque seconde pendant 100 ans, la probabilité d’en créer 2 identiques est de 50% (source Wikipedia).

A quoi sert wp_generate_uuid4() ?

Un « identifiant universel unique » permet de nommer de manière unique une entité. Dans WordPress, les posts (de types de contenus) ou termes (de taxonomies) possèdent un identifiant numérique qui n’est pas unique.

Par exemple, le premier post « Hello World » (ou « Bonjour tout le monde ») créé dans toute installation WordPress possède généralement l’ID numéro 1. Le premier terme de taxonomie créé possèdera aussi un ID numéro 1 (car stocké dans une autre table SQL). L’utilisateur créé par WordPress à l’installation possède lui aussi un ID numéro 1.

Si nous avons besoin de regrouper toutes ces entités en les pointant par leurs IDs, nous serions vite embêtés : des IDs communs rentreraient en conflit.

Asssigner un UUID à chaque entité peut donc s’avérer fort pratique.

Comment générer un identifiant unique avec wp_generate_uuid4() ?

Dans WordPress, la fonction wp_generate_uuid4() permet de générer un Unique ID de version 4.

<?php $uuid = wp_generate_uuid4();
// "6dc9c190-87e5-421c-a02c-8e183f863c14"

Comment vérifier si un string est un UUID v4 ?

La fonction wp_is_uuid() permet de vérifier si un string est un UUID v4 valide. Elle retourne un boolean (true si la chaîne de caractères ressemble bien à un UUID4, false si ça n’est pas le cas).

<?php wp_is_uuid( '6dc9c190-87e5-421c-a02c-8e183f863c14' )
// bool(true)

Vous avez aimé cet article ?

Partagez-le sur vos réseaux sociaux en guise de remerciement :)


Laisser un commentaire