PHP တွင် Serialize function သည် PHP ဒေတာအဆောက်အအုံများကို Arrays သို့မဟုတ် Objects ကဲ့သို့သော strings strings ပုံစံများအဖြစ်ပြောင်းလဲရန်ကိရိယာတစ်ခုဖြစ်သည်။ Serial မှတစ်ဆင့် PHP သည်အရာဝတ်ထုဒေတာများကိုဖိုင်သို့မဟုတ်ဒေတာဘေ့စ်သို့အလွယ်တကူသိမ်းနိုင်သည်။ ဤဆောင်းပါးသည်ဤရည်မှန်းချက်အောင်မြင်ရန် Serialize function ကိုမည်သို့အသုံးပြုရမည်ကိုအသေးစိတ်ရှင်းပြပါမည်။
Serialize function သည် PHP ဒေတာဖွဲ့စည်းပုံ (အရာဝတ်ထုများ, arrays စသည်တို့အပါအ 0 င်) ကို string တစ်ခုသို့ပြောင်းလဲလိမ့်မည်။ ဒီ string ကိုနောက်ပိုင်းတွင် dataialize function ကိုမှနောက်ပိုင်းတွင်မူရင်းဒေတာဖွဲ့စည်းပုံသို့ပြန်လည်ထူထောင်နိုင်သည်။ Serialized data များကို files များ, ဒေတာဘေ့စ်များသို့သိမ်းဆည်းထားနိုင်သည်။
ရိုးရှင်းသော 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";
}
}
?>
ထို့နောက်ကျွန်ုပ်တို့သည် လူတစ် ဦး ၏အတန်းအစားအရာဝတ်ထုတစ်ခု၏ဥပမာအားဖြင့် 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";
?>
ဒီအရာဝတ်ထုကိုပြန်ဖွင့်ဖို့လိုတဲ့အခါဖိုင်ထဲမှာရှိတဲ့ serialized string ကိုမူလအရာဝတ်ထုထဲထည့်သွင်းဖို့ unserialize function ကိုသုံးနိုင်တယ်။
<?php
// ဖိုင်မှ Serialized string ကိုဖတ်ပါ
$serializedPerson = file_get_contents('person.txt');
// အသုံးပြု unserialize 将字符串反序列化为ကန့်ကွက်
$person = unserialize($serializedPerson);
// 输出恢复的ကန့်ကွက်
$person->display(); // Output: Name: Alice, Age: 30
?>
ဒေသဖွံ့ကီဖိုင်များကိုသိမ်းဆည်းခြင်းအပြင်ကျွန်ုပ်တို့သည် 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 ဒေတာများကိုဖိုင်များ, ဒေတာဘေ့စ်များသို့သိမ်းဆည်းပြီးကွန်ယက်ပေါ်တွင်အခြားနေရာများသို့ပင်လွှဲပြောင်းနိုင်သည်။ ဤဆောင်းပါး၏နမူနာများမှတဆင့်အရာဝတ်ထုဒေတာများကိုအလွယ်တကူသိမ်းဆည်းပြီးစနစ်များသို့မဟုတ်ရေရှည်သိုလှောင်မှုကို ဖြတ်. မျှဝေရန်အဆင်ပြေသောအမြဲတမ်းသိုလှောင်မှုကိုသင်အလွယ်တကူပြုလုပ်နိုင်သည်။