แพ็คเกจ Laravel เพื่อสร้างและตรวจสอบ Universally Unique Identifier (UUID) ตามมาตรฐาน RFC 4122 รองรับ UUID เวอร์ชัน 1, 3, 4 และ 5 ในตัว
Laravel-uuid พร้อมสำหรับ Laravel 8 แล้ว โดยมีข้อกำหนดเดียวกันซึ่งหมายถึง PHP 7.3 หรือ PHP 8 การค้นพบแพ็คเกจ Laravel อัตโนมัติถูกเปิดใช้งาน และตอนนี้คุณสามารถใช้การตรวจสอบ UUID ได้แล้ว ตัวอย่างการตรวจสอบอยู่ด้านล่างและในการทดสอบ
สำหรับเวอร์ชันเก่าของ Laravel หรือ PHP ให้ใช้เวอร์ชันเก่ากว่า ดูด้านล่าง...
ขณะนี้ Laravel-uuid ได้รับการปรับโครงสร้างใหม่สำหรับ Laravel 5.5 มันมีข้อกำหนดเดียวกัน นั่นหมายถึง PHP 7 การค้นพบอัตโนมัติของแพ็คเกจ Laravel ถูกเปิดใช้งาน และตอนนี้คุณสามารถใช้การตรวจสอบ UUID ได้แล้ว ตัวอย่างการตรวจสอบอยู่ด้านล่างและในการทดสอบ
Laravel 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::สร้าง()
หรือ
Uuid::สร้าง()->สตริง
สร้างเวอร์ชัน 1 ตามเวลา UUID คุณสามารถตั้งค่าโหนดเสริมให้เป็นที่อยู่ MAC ได้ หากไม่ได้ระบุจะสร้างที่อยู่ MAC แบบสุ่ม
Uuid::generate(1,'00:11:22:33:44:55');
สร้างเวอร์ชัน 3 ตามชื่อโดยใช้การแฮช MD5, UUID
Uuid::สร้าง (3, 'ทดสอบ', Uuid::NS_DNS);
สร้างเวอร์ชัน 4 แบบสุ่มอย่างแท้จริง UUID
Uuid::สร้าง(4);
สร้างเวอร์ชัน 5 ตามชื่อโดยใช้การแฮช SHA-1, UUID
Uuid::สร้าง (5, 'ทดสอบ', Uuid::NS_DNS);
หากต้องการนำเข้า UUID
$uuid = Uuid::import('d3d29d70-1d25-11e3-8591-034165a3a613');
แยกเวลาสำหรับ UUID ตามเวลา (เวอร์ชัน 1)
$uuid = Uuid::สร้าง(1);dd($uuid->เวลา);
แยกเวอร์ชันของ UUID
$uuid = Uuid::สร้าง(4);dd($uuid->รุ่น);
หากคุณต้องการให้ UUID ถูกสร้างขึ้นอย่างน่าอัศจรรย์ในโมเดล Laravel ของคุณ เพียงเพิ่มวิธีการบูตนี้ให้กับโมเดลของคุณ
/** * ตั้งค่า hooks เหตุการณ์ของโมเดล */ บูตฟังก์ชันคงที่สาธารณะ () {parent::boot();self::creating(function ($model) {$model->uuid = (string) Uuid::generate(4); - -
สิ่งนี้จะสร้าง UUID เวอร์ชัน 4 เมื่อสร้างเรกคอร์ดใหม่
หากคุณต้องการใช้ UUID ใน URL แทนคีย์หลัก คุณสามารถเพิ่มสิ่งนี้ลงในโมเดลของคุณได้ (โดยที่ 'uuid' คือชื่อคอลัมน์สำหรับจัดเก็บ UUID)
/** * รับคีย์เส้นทางสำหรับรุ่น * * @return string */ฟังก์ชันสาธารณะ getRouteKeyName() {กลับมา 'uuid'; -
เมื่อคุณฉีดโมเดลในวิธีการควบคุมทรัพยากรของคุณ คุณจะได้รับบันทึกที่ถูกต้อง
การแก้ไขฟังก์ชั่นสาธารณะ (รุ่น $model) { return view('someview.edit')->with(['model' => $model, - -
เพียงใช้เหมือนกับเครื่องมือตรวจสอบความถูกต้องของ Laravel อื่น ๆ
'uuid-field' => 'uuid'
หรือสร้างเครื่องมือตรวจสอบตั้งแต่เริ่มต้น ในตัวอย่างวัตถุ Uuid ได้รับการตรวจสอบแล้ว คุณยังสามารถตรวจสอบสตริง $uuid->string
, URN $uuid->urn
หรือค่าไบนารี่ $uuid->bytes
$uuid = Uuid::generate();$validator = เครื่องมือตรวจสอบ::make(['uuid' => $uuid], ['uuid' => 'uuid']);dd($validator->passes()) ;
รายละเอียดทั้งหมดเกี่ยวกับข้อกำหนด UUID สามารถดูได้ที่ http://tools.ietf.org/html/rfc4122