Paket Laravel untuk menghasilkan dan memvalidasi pengidentifikasi unik universal (UUID) sesuai dengan standar RFC 4122. Dukungan untuk UUID versi 1, 3, 4 dan 5 sudah ada di dalamnya.
Laravel-uuid sekarang siap untuk Laravel 8. Persyaratannya sama sehingga berarti PHP 7.3 atau PHP 8. Penemuan otomatis paket Laravel diaktifkan, dan Anda sekarang dapat menggunakan validasi UUID. Contoh validasi ada di bawah dan dalam pengujian.
Untuk versi Laravel atau PHP yang lebih lama gunakan versi yang lebih lama; lihat di bawah...
Laravel-uuid sekarang telah difaktorkan ulang untuk Laravel 5.5. Ini memiliki persyaratan yang sama sehingga berarti PHP 7. Penemuan otomatis paket Laravel diaktifkan, dan Anda sekarang dapat menggunakan validasi UUID. Contoh validasi ada di bawah dan dalam pengujian.
Laravel 5.0, 5.1, 5.2, 5.3 dan 5.4? gunakan versi 2
Laravel 4.*? gunakan versi 1
Di Laravel 5.5 laravel-uuid akan diinstal melalui fitur penemuan paket baru sehingga Anda hanya perlu menambahkan paket ke file composer.json Anda
komposer memerlukan "webpatser/laravel-uuid:^3.0"
setelah instalasi Anda akan melihat
Paket yang Ditemukan: webpatser/laravel-uuid
dan kamu siap berangkat
Untuk menghasilkan UUID dengan cepat, lakukan saja
Uuid::menghasilkan()
Ini akan menghasilkan object
Uuid versi 1 dengan alamat MAC yang dihasilkan secara acak.
Untuk menggemakan UUID yang dihasilkan, transmisikan ke string
(string) Uuid::menghasilkan()
atau
Uuid::menghasilkan()->string
Hasilkan UUID versi 1, berbasis waktu. Anda dapat mengatur node opsional ke alamat MAC. Jika tidak diberikan maka akan menghasilkan alamat MAC acak.
Uuid::generate(1,'00:11:22:33:44:55');
Hasilkan versi 3, berbasis nama menggunakan hashing MD5, UUID
Uuid::generate(3,'test', Uuid::NS_DNS);
Hasilkan versi 4, benar-benar acak, UUID
Uuid::menghasilkan(4);
Hasilkan versi 5, berdasarkan nama menggunakan hashing SHA-1, UUID
Uuid::generate(5,'test', Uuid::NS_DNS);
Untuk mengimpor UUID
$uuid = Uuid::import('d3d29d70-1d25-11e3-8591-034165a3a613');
Ekstrak waktu untuk UUID berbasis waktu (versi 1)
$uuid = Uuid::generate(1);dd($uuid->waktu);
Ekstrak versi UUID
$uuid = Uuid::generate(4);dd($uuid->versi);
Jika Anda ingin UUID dibuat secara ajaib di model Laravel Anda, cukup tambahkan metode boot ini ke Model Anda.
/** * Siapkan kait peristiwa model */boot fungsi statis publik() {parent::boot();self::creating(function ($model) {$model->uuid = (string) Uuid::generate(4); }); }
Ini akan menghasilkan UUID versi 4 saat membuat catatan baru.
Jika Anda ingin menggunakan UUID di URL alih-alih kunci utama, Anda dapat menambahkan ini ke model Anda (dengan 'uuid' adalah nama kolom untuk menyimpan UUID)
/** * Dapatkan kunci rute untuk model tersebut. * * @return string */fungsi publik getRouteKeyName() {kembalikan 'uuid'; }
Saat Anda memasukkan model ke metode pengontrol sumber daya, Anda mendapatkan catatan yang benar
edit fungsi publik(Model $model) { kembalikan tampilan('someview.edit')->dengan(['model' => $model, ]); }
Gunakan saja seperti validator Laravel lainnya.
'uuid-field' => 'uuid'
Atau buat validator dari awal. Dalam contoh objek Uuid di validasi. Anda juga dapat memvalidasi string $uuid->string
, URN $uuid->urn
atau nilai biner $uuid->bytes
$uuid = Uuid::generate();$validator = Validator::make(['uuid' => $uuid], ['uuid' => 'uuid']);dd($validator->passes()) ;
Detail lengkap tentang spesifikasi UUID dapat ditemukan di http://tools.ietf.org/html/rfc4122.