Laravel est un cadre PHP populaire dédié à la fourniture d'une structure de code simple, maintenable et hautement expressive. Le cadre a de nombreuses fonctionnalités puissantes et pratiques intégrées, dont l'une est de générer automatiquement des UUID. L'UUID (Universal Unique Identifier) est largement utilisé dans divers systèmes, en particulier dans les scénarios où des informations d'identification uniques sont nécessaires.
UUID, le nom complet est un identifiant universellement unique, est une valeur 128 bits qui peut fournir un identifiant unique pour chaque élément d'information. La façon dont les UUID sont générées ne dépendent pas du coordinateur central, de sorte qu'ils peuvent être générés indépendamment dans plusieurs ordinateurs ou systèmes différents sans conflit. Cela fait de l'UUID un outil important dans les systèmes distribués et est largement utilisé dans de nombreux domaines tels que les enregistrements de base de données et les protocoles de réseau.
Pour utiliser UUID dans Laravel, vous devez d'abord ajouter un champ UUID à la table de données dans le fichier de migration de la base de données. Dans le fichier de migration, vous pouvez le définir de la manière suivante:
Schema::create('my_table', function (Blueprint $table) {
$table->uuid('uuid')->unique();
// Autres champs...
});
Dans le code ci-dessus, nous créons un champ appelé `UUID` et définissons son type sur UUID. De plus, nous nous assurons que chaque valeur UUID est unique grâce à la méthode `Unique () '.
Après avoir ajouté le champ UUID dans la table de la base de données, Laravel pourra générer automatiquement un UUID pour chaque nouvel enregistrement. Dans le modèle, vous pouvez utiliser le code suivant pour générer automatiquement l'UUID:
use Ramsey\Uuid\Uuid;
class MyModel extends Model
{
public $incrementing = false;
protected $primaryKey = 'uuid';
protected static function boot()
{
parent::boot();
static::creating(function ($model) {
$model->uuid = Uuid::uuid4()->toString();
});
}
}
Dans le code ci-dessus, nous introduisons la classe `Ramsey \ uuid \ uuid` et générons l'UUID dans l'événement` Création 'du modèle. Avant d'enregistrer le modèle, l'UUID est automatiquement affecté au champ `UUID` du modèle.
Une fois que la logique de génération UUID est définie dans le modèle, vous pouvez le faire comme utiliser normalement le modèle Laravel. Par exemple, lors de l'insertion d'un nouvel enregistrement, l'UUID générera automatiquement et remplira le champ UUID du tableau de données:
App\Models\MyModel::create([
'name' => 'my name',
// Autres champs...
]);
Lors de l'exécution d'une opération d'insertion, Laravel générera automatiquement une valeur UUID unique pour le champ `UUID` et l'enregistrera.
Avec la fonction de génération UUID automatique de Laravel, les développeurs peuvent facilement générer des identifiants uniques pour chaque enregistrement. La création de champs UUID dans la migration de la base de données et la mise en œuvre de la fonction de générer automatiquement des UUID dans le modèle peuvent éviter la complexité de la gestion manuelle des UUID. Avec la nature distribuée de l'UUID, les applications peuvent garantir que les identités uniques sont générées dans plusieurs systèmes distribués, évitant ainsi les conflits de données.