حزمة Laravel لإنشاء المعرف الفريد العالمي (UUID) والتحقق من صحته وفقًا لمعيار RFC 4122. تم تضمين دعم الإصدارات 1 و3 و4 و5 من UUIDs.
أصبح Laravel-uuid جاهزًا الآن لـ Laravel 8. وله نفس المتطلبات، مما يعني PHP 7.3 أو PHP 8. تم تمكين الاكتشاف التلقائي لحزمة Laravel، ويمكنك الآن استخدام التحقق من صحة UUID. أمثلة التحقق أدناه وفي الاختبارات.
بالنسبة لإصدارات Laravel أو PHP الأقدم، استخدم الإصدارات الأقدم؛ انظر أدناه...
تمت إعادة هيكلة Laravel-uuid الآن لـ Laravel 5.5. لديها نفس المتطلبات، مما يعني أن PHP 7. تم تمكين الاكتشاف التلقائي لحزمة Laravel، ويمكنك الآن استخدام التحقق من صحة UUID. أمثلة التحقق أدناه وفي الاختبارات.
لارافيل 5.0 و 5.1 و 5.2 و 5.3 و 5.4؟ استخدام الإصدار 2
لارافيل 4.*؟ استخدام الإصدار 1
في Laravel 5.5، سيتم تثبيت laravel-uuid عبر ميزة اكتشاف الحزمة الجديدة، لذلك تحتاج فقط إلى إضافة الحزمة إلى ملف Composer.json الخاص بك
يتطلب الملحن "webpatser/laravel-uuid:^3.0"
بعد التثبيت يجب أن ترى
الحزمة المكتشفة: webpatser/laravel-uuid
وأنت على استعداد للذهاب
لإنشاء UUID بسرعة، ما عليك سوى القيام بذلك
Uuid::إنشاء()
سيؤدي هذا إلى إنشاء object
Uuid الإصدار 1 بعنوان MAC عشوائي.
لتكرار UUID الذي تم إنشاؤه، قم بإرساله إلى سلسلة
(سلسلة) Uuid::generate()
أو
Uuid::generate()->string
قم بإنشاء الإصدار 1، UUID المستند إلى الوقت. يمكنك ضبط العقدة الاختيارية على عنوان MAC. إذا لم يتم توفيره فإنه سيتم إنشاء عنوان MAC عشوائي.
Uuid::generate(1,'00:11:22:33:44:55');
قم بإنشاء الإصدار 3، بناءً على الاسم باستخدام تجزئة MD5، UUID
Uuid::generate(3,'test', Uuid::NS_DNS);
قم بإنشاء إصدار 4، عشوائي حقًا، UUID
Uuid::generate(4);
قم بإنشاء الإصدار 5، بناءً على الاسم باستخدام تجزئة SHA-1، UUID
Uuid::generate(5,'test', Uuid::NS_DNS);
لاستيراد UUID
$uuid = Uuid::import('d3d29d70-1d25-11e3-8591-034165a3a613');
استخراج الوقت لمعرف UUID المستند إلى الوقت (الإصدار 1)
$uuid = Uuid::generate(1);dd($uuid->time);
قم باستخراج نسخة UUID
$uuid = Uuid::generate(4);dd($uuid->version);
إذا كنت تريد إنشاء UUID بطريقة سحرية في نماذج Laravel الخاصة بك، فما عليك سوى إضافة طريقة التمهيد هذه إلى النموذج الخاص بك.
/** * خطافات أحداث نموذج الإعداد */ public static function boot() {parent::boot();self::creating(function ($model) {$model->uuid = (string) Uuid::generate(4); }); }
سيؤدي هذا إلى إنشاء الإصدار 4 UUID عند إنشاء سجل جديد.
إذا كنت تريد استخدام UUID في عناوين URL بدلاً من المفتاح الأساسي، فيمكنك إضافة هذا إلى النموذج الخاص بك (حيث يكون "uuid" هو اسم العمود لتخزين UUID)
/** * احصل على مفتاح المسار للنموذج. * * @return string */ الوظيفة العامة getRouteKeyName () {إرجاع "uuid"؛ }
عندما تقوم بإدخال النموذج في أساليب التحكم بالموارد الخاصة بك، فإنك تحصل على السجل الصحيح
تحرير الوظيفة العامة (النموذج $model) { عرض الإرجاع('someview.edit')->مع(['model' => $model, ]); }
فقط استخدمه مثل أي مدقق Laravel آخر.
'uuid-field' => 'uuid'
أو قم بإنشاء أداة التحقق من الصفر. في المثال تم التحقق من صحة كائن Uuid. يمكنك أيضًا التحقق من صحة السلاسل $uuid->string
أو URN $uuid->urn
أو القيمة الثنائية $uuid->bytes
$uuid = Uuid::generate();$validator = Validator::make(['uuid' => $uuid], ['uuid' => 'uuid']);dd($validator->passes()) ;
يمكن العثور على التفاصيل الكاملة حول مواصفات UUID على http://tools.ietf.org/html/rfc4122.