လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> Serialize သုံးပြီး PHP ရှိအရာဝတ်ထုများကိုအမြဲတမ်းသိုလှောင်ခြင်း

Serialize သုံးပြီး PHP ရှိအရာဝတ်ထုများကိုအမြဲတမ်းသိုလှောင်ခြင်း

gitbox 2025-05-28

PHP တွင် Serialize function သည် PHP ဒေတာအဆောက်အအုံများကို Arrays သို့မဟုတ် Objects ကဲ့သို့သော strings strings ပုံစံများအဖြစ်ပြောင်းလဲရန်ကိရိယာတစ်ခုဖြစ်သည်။ Serial မှတစ်ဆင့် PHP သည်အရာဝတ်ထုဒေတာများကိုဖိုင်သို့မဟုတ်ဒေတာဘေ့စ်သို့အလွယ်တကူသိမ်းနိုင်သည်။ ဤဆောင်းပါးသည်ဤရည်မှန်းချက်အောင်မြင်ရန် Serialize function ကိုမည်သို့အသုံးပြုရမည်ကိုအသေးစိတ်ရှင်းပြပါမည်။

1 ။ Serialize function ကဘာလဲ။

Serialize function သည် PHP ဒေတာဖွဲ့စည်းပုံ (အရာဝတ်ထုများ, arrays စသည်တို့အပါအ 0 င်) ကို string တစ်ခုသို့ပြောင်းလဲလိမ့်မည်။ ဒီ string ကိုနောက်ပိုင်းတွင် dataialize function ကိုမှနောက်ပိုင်းတွင်မူရင်းဒေတာဖွဲ့စည်းပုံသို့ပြန်လည်ထူထောင်နိုင်သည်။ Serialized data များကို files များ, ဒေတာဘေ့စ်များသို့သိမ်းဆည်းထားနိုင်သည်။

2 ။ အရာဝတ်ထုမတည်မြဲသောသိုလှောင်မှုကိုအကောင်အထည်ဖော်ရန် Serialize function ကိုသုံးပါ

ရိုးရှင်းသော PHP အရာဝတ်ထုကိုအရာဝတ်ထုများကိုအမြဲတမ်းသိုလှောင်ထားရန် Serialize function ကိုမည်သို့အသုံးပြုရမည်ကိုကြည့်ရန်ဥပမာတစ်ခုအနေဖြင့်ကြည့်ရှုကြပါစို့။

ပထမ ဦး စွာ PHP အမျိုးအစားအရာဝတ်ထုတစ်ခုကိုဖန်တီးသည်။

 <?php
class Person {
    public $name;
    public $age;

    public function __construct($name, $age) {
        $this->name = $name;
        $this->age = $age;
    }

    public function display() {
        echo "Name: {$this->name}, Age: {$this->age}\n";
    }
}
?>

2.1 အရာဝတ်ထုများကို serialize

ထို့နောက်ကျွန်ုပ်တို့သည် လူတစ် ဦး ၏အတန်းအစားအရာဝတ်ထုတစ်ခု၏ဥပမာအားဖြင့် serialize function ကို ဖြတ်. string တစ်ခုထဲသို့ 0 င်ရောက်နိုင်သည်။ ထို့နောက်ကျွန်ုပ်တို့ဇွဲရှိခြင်းအတွက်ဖိုင်တစ်ခုတွင်သိမ်းဆည်းထားပါသည်။

 <?php
// ဖန်တီး Person ကန့်ကွက်
$person = new Person("Alice", 30);

// အသုံးပြု serialize 将ကန့်ကွက်转为字符串
$serializedPerson = serialize($person);

// ဖိုင်တစ်ခုသို့ Serialized string ကိုသိမ်းပါ
file_put_contents('person.txt', $serializedPerson);

echo "Object serialized and saved to person.txt\n";
?>

2.2 အရာဝတ်ထု deserialize

ဒီအရာဝတ်ထုကိုပြန်ဖွင့်ဖို့လိုတဲ့အခါဖိုင်ထဲမှာရှိတဲ့ serialized string ကိုမူလအရာဝတ်ထုထဲထည့်သွင်းဖို့ unserialize function ကိုသုံးနိုင်တယ်။

 <?php
// ဖိုင်မှ Serialized string ကိုဖတ်ပါ
$serializedPerson = file_get_contents('person.txt');

// အသုံးပြု unserialize 将字符串反序列化为ကန့်ကွက်
$person = unserialize($serializedPerson);

// 输出恢复的ကန့်ကွက်
$person->display();  // Output: Name: Alice, Age: 30
?>

3 ။ မြဲသိုလှောင်ရန် URL ကိုသုံးပါ

ဒေသဖွံ့ကီဖိုင်များကိုသိမ်းဆည်းခြင်းအပြင်ကျွန်ုပ်တို့သည် Serialized data များကိုဝေးလံခေါင်သီသော server (သို့) ဒေတာဘေ့စ်သို့သိမ်းဆည်းနိုင်သည်သို့မဟုတ် URLs မှတစ်ဆင့်၎င်းကိုပင်လွှဲပြောင်းနိုင်သည်။ ကျွန်ုပ်တို့သည် Serial Object Data ကိုဝေးလံခေါင်သီသောဆာဗာသို့ပေးပို့လိုပါကဤနေရာတွင် Curl အသုံးပြုခြင်းဥပမာတစ်ခုဖြစ်သည်။

 <?php
// ဒေတာ Serialize
$serializedData = serialize($person);

// 发送ဒေတာ Serialize到Remote ဆာဗာ
$url = "http://gitbox.net/store_serialized_data";  // Remote ဆာဗာ URL
$data = array("data" => $serializedData);

// ဖြစ်ပေါ်လာခြင်း cURL ရုံးထိုင်အချိန်ကာလ
$ch = curl_init($url);

// တည်ဆောက်သည် cURL ရွေးချယ်စရာများ
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

// ကရိယာတန်းဆာ cURL မေးမြန်း
$response = curl_exec($ch);

// အမှားများကိုစစ်ဆေးပါ
if($response === false) {
    echo "cURL Error: " . curl_error($ch);
} else {
    echo "Data successfully sent to server: $response";
}

// ရုပ်သိမ်းခြင်း cURL ရုံးထိုင်အချိန်ကာလ
curl_close($ch);
?>

အထက်ပါဥပမာတွင်ကျွန်ုပ်တို့သည် Serial Object Data ကို curl မှတဆင့်သတ်မှတ်ထားသော URL သို့ပို့သည် ဝေးလံခေါင်သီသောဆာဗာဘက်တွင်၎င်းကိုဒေတာဘေ့စ်သို့သိမ်းဆည်းခြင်းသို့မဟုတ်၎င်းကိုသိမ်းဆည်းခြင်းစသည့်ဤ serialized ဒေတာများကိုသင်ရရှိနိုင်သည်။

အကျဉ်းချုပ်

serialize function သည် PHP တွင်အလွန်အသုံး 0 င်သောကိရိယာတစ်ခုဖြစ်သည်။ ကျွန်ုပ်တို့သည် Serial ဒေတာများကိုဖိုင်များ, ဒေတာဘေ့စ်များသို့သိမ်းဆည်းပြီးကွန်ယက်ပေါ်တွင်အခြားနေရာများသို့ပင်လွှဲပြောင်းနိုင်သည်။ ဤဆောင်းပါး၏နမူနာများမှတဆင့်အရာဝတ်ထုဒေတာများကိုအလွယ်တကူသိမ်းဆည်းပြီးစနစ်များသို့မဟုတ်ရေရှည်သိုလှောင်မှုကို ဖြတ်. မျှဝေရန်အဆင်ပြေသောအမြဲတမ်းသိုလှောင်မှုကိုသင်အလွယ်တကူပြုလုပ်နိုင်သည်။