လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> Laravel Framework သည် UUIDs ကိုအလိုအလျောက်ထုတ်ပေးသည်။ စားပွဲတင်ဖန်တီးမှုမှအကောင်အထည်ဖော်မှုမှအပြည့်အစုံသင်ခန်းစာ

Laravel Framework သည် UUIDs ကိုအလိုအလျောက်ထုတ်ပေးသည်။ စားပွဲတင်ဖန်တီးမှုမှအကောင်အထည်ဖော်မှုမှအပြည့်အစုံသင်ခန်းစာ

gitbox 2025-06-16

1 ။ နိဒါန်း

Laravel ဆိုသည်မှာ Laravel သည်ရိုးရှင်းသော, အဆိုပါမူဘောင်တွင် UUIDs များကိုအလိုအလျောက်ထုတ်လုပ်ရန်အတွက်တည်ဆောက်ထားသောအစွမ်းထက်။ လက်တွေ့အင်္ဂါအစိတ်အပိုင်းများစွာရှိသည်။ UUID (Universal ထူးခြားသောအမှတ်အသား) ကိုအထူးသဖြင့်ထူးခြားသောဖော်ထုတ်ခြင်းအချက်အလက်များလိုအပ်သည့်နေရာများတွင်အမျိုးမျိုးသောစနစ်များတွင်ကျယ်ကျယ်ပြန့်ပြန့်အသုံးပြုသည်။

2 ။ UUID ကဘာလဲ

uuid, နာမည်အပြည့်အစုံသည်တစ်ကမ္ဘာလုံးအတိုင်းအတာဖြင့်ထူးခြားသောအမှတ်အသားဖြစ်ပြီးသတင်းအချက်အလက်တစ်ခုစီအတွက်ထူးခြားသောအမှတ်အသားတစ်ခုပေးနိုင်သည့် 128-bit value တစ်ခုဖြစ်သည်။ Uids ထုတ်လုပ်သည့်အတိုင်းဗဟိုညှိနှိုင်းရေးမှူးပေါ်တွင်မူတည်သည်ကိုမမူတည်ပါ။ ၎င်းသည် UUID ကိုဖြန့်ဝေထားသောစနစ်များတွင်အရေးကြီးသောကိရိယာတစ်ခုဖြစ်ပြီးဒေတာဘေ့စ်မှတ်တမ်းများနှင့်ကွန်ယက် protocols ကဲ့သို့သောနယ်ပယ်များစွာတွင်ကျယ်ကျယ်ပြန့်ပြန့်အသုံးပြုသည်။

3 ။ Laravel တွင် UUIDs ကိုအလိုအလျောက်ထုတ်လုပ်နိုင်ပုံ

3.1 UUID လယ်ကွင်းများနှင့်ဒေတာစားပွဲပေါ်မှာဖန်တီးပါ

Laravel တွင် UUID ကိုအသုံးပြုရန် UUID အကွက်ကိုဒေတာဗေ့စ်ရွှေ့ပြောင်းခြင်းဖိုင်ရှိဒေတာစားပွဲသို့ပထမဆုံးထည့်သွင်းရန်လိုအပ်သည်။ ရွှေ့ပြောင်းခြင်းဖိုင်တွင်၎င်းကိုအောက်ပါနည်းလမ်းများဖြင့်သတ်မှတ်နိုင်သည်။

 
Schema::create('my_table', function (Blueprint $table) {
    $table->uuid('uuid')->unique();
    // အခြားနယ်ပယ်များ...
});

အထက်ပါကုဒ်တွင် `uuid` ဟုခေါ်သောလယ်ကွင်းတစ်ခုကိုဖန်တီးပြီး UUID သို့၎င်း၏အမျိုးအစားကိုသတ်မှတ်သည်။ ထို့အပြင် UUID တန်ဖိုးတစ်ခုစီသည် `ထူးခြားသော ()` နည်းလမ်းဖြင့်ထူးခြားသည်။

3.2 Laravel သည် UUID ကိုအလိုအလျောက်ထုတ်ပေးသည်

UUID field ကိုဒေတာဘေ့စ်စားပွဲတွင်ထည့်သွင်းပြီးနောက် Laravel သည် Record အသစ်တစ်ခုစီအတွက် UUID ကိုအလိုအလျောက်ထုတ်လုပ်နိုင်လိမ့်မည်။ မော်ဒယ်တွင် UUIDs များကိုအလိုအလျောက်ထုတ်လုပ်ရန်အောက်ပါကုဒ်ကိုသုံးနိုင်သည်။

 
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();
        });
    }
}

အထက်ဖော်ပြပါကုဒ်များတွင် `Ramsey \ Uuid \ Uuid \ Uuid uuid uuid uuid uuid အတန်းကိုမိတ်ဆက်ပေးပြီး uuid ကို` `` `` `` `` `` " မော်ဒယ်ကိုမသိမ်းဆည်းမီ UUID သည် `uuid ၏ uuid ၏နယ်ပယ်တွင်အလိုအလျောက်တာဝန်ပေးအပ်သည်။

4 ။ အလိုအလျောက်ထုတ်လုပ်လိုက်တဲ့ uuid ကိုဘယ်လိုသုံးရမလဲ

UUID မျိုးထုတ်လုပ်မှုယုတ္တိဗေဒကိုမော်ဒယ်တွင်သတ်မှတ်ပြီးသည်နှင့်ပုံမှန်ပြုလုပ်သော Laravel မော်ဒယ်ကို အသုံးပြု. သင်လုပ်နိုင်သည်။ ဥပမာအားဖြင့်, မှတ်တမ်းအသစ်တစ်ခုကိုထည့်သွင်းသောအခါ UUID သည်အချက်အလက်ဇယား၏ UUID နယ်ပယ်ကိုအလိုအလျောက်ထုတ်လုပ်ပြီးဖြည့်ဆည်းပေးလိမ့်မည်။

 
App\Models\MyModel::create([
    'name' => 'my name',
    // အခြားနယ်ပယ်များ...
]);

Insert လုပ်ငန်းလည်ပတ်နေသည့်အခါ Laravel သည် `uuid field အတွက်ထူးခြားသော UUID တန်ဖိုးကိုအလိုအလျောက်ထုတ်လုပ်ပြီး၎င်းကိုသိမ်းဆည်းလိမ့်မည်။

5 ။ အကျဉ်းချုပ်

Laravel's Automatic Automatic Generation feature တွင် developer များသည်မှတ်တမ်းတစ်ခုစီအတွက်ထူးခြားသောအမှတ်အသားကိုအလွယ်တကူထုတ်လုပ်နိုင်သည်။ ဒေတာဘေ့စ်တွင် UUID နယ်ပယ်များဖန်တီးခြင်းနှင့်အလိုအလျောက်ထုတ်ယူခြင်း၏လုပ်ဆောင်မှုကိုအကောင်အထည်ဖော်ခြင်းသည် UUIDs ကိုကိုယ်တိုင်စီမံခြင်း၏ရှုပ်ထွေးမှုကိုရှောင်ရှားနိုင်သည်။ UUID ၏ဖြန့်ဝေထားသောသဘောသဘာဝအရအက်ပလီကေးရှင်းများသည်ထူးခြားသောအထောက်အထားများကိုဖြန့်ဝေထားသောစနစ်များတွင်ထူးခြားသောအထောက်အထားများကိုထုတ်ပေးနိုင်ပြီးဒေတာပ conflicts ိပက်ခများကိုရှောင်ရှားနိုင်သည်။