PHP တွင် Serialize () function သည် php value (ဥပမာ Array သို့မဟုတ် Object ကဲ့သို့) သိုလှောင်ထားသည့် string တစ်ခုသို့ပြောင်းလဲနိုင်သည်။ ၎င်းသည်ရှုပ်ထွေးသောဒေတာအဆောက်အအုံများကိုဖိုင်စနစ်သို့သိမ်းဆည်းရန်သို့မဟုတ်အခြားအပလီကေးရှင်းများသို့လွှဲပြောင်းရန်ပိုမိုလွယ်ကူပြီးပိုမိုထိရောက်စေသည်။ ဤဆောင်းပါးတွင်ဖိုင်စနစ်တွင် Serial data ကိုထိထိရောက်ရောက်ဖတ်ရှုရန်နှင့်ရေးရန်စီစဉ်ခြင်းနှင့်ဖိုင်များကိုထိရောက်စွာဖတ်ရှုရန်နှင့်ဖိုင်များကိုမည်သို့လုပ်ဆောင်ရမည်ကိုပြသရန် serialize () function ကိုမည်သို့အသုံးပြုရမည်ကိုလေ့လာပါမည်။
PHP ၏ serialize () function သည် PHP ဒေတာတည်ဆောက်ပုံကိုသိုလှောင်ထားသည့် string တစ်ခုအဖြစ်ပြောင်းလဲပေးသည်။ ၎င်းသည်ဒေတာများကိုဖိုင်တစ်ခု, ဒေတာဘေ့စ်တစ်ခုသို့သိမ်းဆည်းခြင်းသို့မဟုတ်ကွန်ယက်တစ်ခုသို့လွှဲပြောင်းခြင်းအတွက်သိမ်းဆည်းခြင်းအတွက်အသုံးဝင်သည်။ ဆန့်ကျင်ဘက်အနေဖြင့် unalialize () function သည်ဤ serialized string ကိုမူရင်းဒေတာတည်ဆောက်ပုံသို့ကူးပြောင်းသည်။
နမူနာကုဒ်:
<?php
$data = array('name' => 'John', 'age' => 25);
$serializedData = serialize($data);
echo $serializedData;
?>
ထုတ်လုပ်မှု -
a:2:{s:4:"name";s:4:"John";s:3:"age";i:25;}
ဤ serialized string ကိုဖိုင်စနစ်တွင်သိမ်းဆည်းထားနိုင်သည်သို့မဟုတ်ကွန်ယက်ရှိအခြားနေရာများသို့လွှဲပြောင်းနိုင်သည်။
ဖိုင်စနစ်တွင်ဒေတာများကိုသိမ်းဆည်းရန်ကျွန်ုပ်တို့သည် serialized data ကိုဖိုင်တစ်ခုသို့ရေးပြီးဖိုင်မှဖတ်ပြီးလိုအပ်သည့်အခါ၎င်းကိုဖတ်ရှုခြင်း။ ဤလုပ်ငန်းစဉ်သည်အလွန်ရိုးရှင်းသော်လည်းအချက်အလက်များကိုဖတ်ရန်နှင့်ရေးဆွဲခြင်းလုပ်ငန်းများကိုထိရောက်စွာလုံခြုံအောင်လုပ်ရန်လိုအပ်သည်။
ပထမ ဦး စွာကျွန်ုပ်တို့သည် array တစ်ခုကိုမြည်တမ်း။ ဖိုင်တစ်ခုသို့ရေးပါ။ ထိရောက်သောဖိုင်ရေးသားသည့်နည်းလမ်းဖြစ်သော file_put_contontents () function ကိုသင်အသုံးပြုနိုင်သည်။
<?php
$data = array('name' => 'John', 'age' => 25);
// ဒေတာ Serialize
$serializedData = serialize($data);
// ဖိုင်တစ်ခုသို့ Serialized ဒေတာများကိုရေးပါ
file_put_contents('data.txt', $serializedData);
?>
ဤဥပမာတွင် Data Array Serialize လုပ်ပြီးနောက် ဒေတာ အမည်ရှိဖိုင်ကိုရေးပါ။
ဖိုင်တစ်ခုမှ Serial data အချက်အလက်များကိုဖတ်ပြီးမူရင်းဒေတာတည်ဆောက်ပုံသို့ပြန်ပို့ပါ။ ဖိုင် contents တွေကိုဖတ်ပြီး function ကိုဖတ်ဖို့ file_get_contontents ( ) function ကိုသုံးနိုင်တယ်။
<?php
// ဖိုင်တစ်ခုမှ Serialize အချက်အလက်များကိုဖတ်ပါ
$serializedData = file_get_contents('data.txt');
// ဒေတာ deserialize
$data = unserialize($serializedData);
// deserialized ဒေတာ output
print_r($data);
?>
အကယ်. data.txt ဖိုင်တွင်ပါ 0 င်သောအရာများသည်ကြိုးများတပ်ဆင်ထားပါကကျွန်ုပ်တို့သည်အစောပိုင်းက serialized လုပ်ထားပါကဤကုဒ်ကို run မည်။
Array
(
[name] => John
[age] => 25
)
ဖိုင်လမ်းကြောင်း - ဖိုင်များလည်ပတ်နေစဉ်ဖိုင်လမ်းကြောင်းသည်မှန်ကန်ကြောင်းသေချာစေရန်နှင့် PHP သည်စာဖတ်ခြင်းနှင့်ရေးသားခြင်းအတွက်လုံလောက်သောခွင့်ပြုချက်ရှိသည်။
ဒေတာစစ်ဆေးမှု - ဒေတာများကို deserializing description ကို deserialize လုပ်သည့်အခါအထူးသတိထားရန်လိုအပ်သည်။ ဤသို့ပြုလုပ်ရန် deserialized ဒေတာအရင်းအမြစ်သည်ယုံကြည်စိတ်ချရသောဖြစ်ကြောင်းသေချာစေရန် input data များကိုပြုလုပ်ရန်အတည်ပြုခြင်းနှင့်စစ်ထုတ်ခြင်းတို့ကိုပြုလုပ်နိုင်သည်။
စွမ်းဆောင်ရည် ပိုမိုကောင်းမွန်သောဖိုင်များသို့မဟုတ်မကြာခဏဖတ်ခြင်းနှင့်မကြာခဏဖတ်ခြင်းနှင့်စစ်ဆင်ရေးကိုရေးခြင်းအတွက်ဖိုင်များကိုဖတ်ရှုခြင်းနှင့်ရေးသားခြင်းကဲ့သို့သော in-memory data သိုလှောင်နည်းများကိုအသုံးပြုခြင်းသို့မဟုတ်ပြန်လည်ထူထောင်ခြင်းကဲ့သို့သော memory data storage နည်းလမ်းများအသုံးပြုခြင်းကိုသင်စဉ်းစားနိုင်သည်။
အချို့သော applications များတွင် URL ကိုဒေတာအတွင်းရှိ URL ကိုအစားထိုးရန်လိုကောင်းလိုလိမ့်မည်။ ဥပမာအားဖြင့်, serialation မမီမီဒီယာမဆိုဒိုမိန်းအမည်ကို GitBox.net ဖြင့်အစားထိုးသည်။
ကျွန်ုပ်တို့တွင် urls များပါ 0 င်သည့် urls များပါ 0 င ်သည့် urls များပါ 0 င်သည်ဆိုပါစို့။
<?php
$data = array(
'website' => 'https://www.example.com',
'api' => 'https://api.example.com'
);
// သေတမ်းစာ URL Domain Name ကိုအစားထိုးပါ gitbox.net
foreach ($data as &$url) {
$url = str_replace('example.com', 'gitbox.net', $url);
}
// ဒေတာ Serialize
$serializedData = serialize($data);
// ဖိုင်တစ်ခုသို့ Serialized ဒေတာများကိုရေးပါ
file_put_contents('data_with_urls.txt', $serializedData);
?>
ဤနည်းအားဖြင့်ကျွန်ုပ်တို့သည်သိမ်းဆည်းခြင်းမပြုမီဒေတာရှိအကြောင်းအရာများကိုပြောင်းလဲခြင်းကိုပြောင်းလဲနိုင်သည်။ ထို့နောက်ကျွန်ုပ်တို့သည်ဤအချက်အလက်များကိုယခင်ကဖိုင်မှဖတ်ရန်နှင့် deserialize လုပ်နိုင်သည်။
PHP ၏ serialize () နှင့် unserialize () လုပ်ဆောင်ချက်များကိုဖိုင်စနစ်အတွင်းရှိရှုပ်ထွေးသောဒေတာအဆောက်အအုံများကိုသိမ်းဆည်းရန်နှင့်တင်ရန်ထိရောက်သောနည်းလမ်းဖြစ်သည်။ ဖိုင်စနစ်၏လည်ပတ်မှုကိုဖတ်ရန်နှင့်ရေးဆွဲခြင်းကိုကိုင်တွယ်သောအခါဤလုပ်ဆောင်ချက်များကိုပေါင်းစပ်။ အသုံးပြုခြင်းသည် code ကိုရိုးရှင်းရုံသာမကဒေတာများ၏သမာဓိကိုသေချာစေသည်။ အမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုတွင်ဖိုင်သိုလှောင်မှု, ဒေတာ serialization နှင့် deserialization တို့ကိုပေါင်းစပ်ခြင်း, ဒေတာ serialization နှင့် deserialization တို့ကိုပေါင်းစပ်ခြင်းက code သည်ရိုးရှင်းလွယ်ကူပြီးထိန်းသိမ်းရန်လွယ်ကူစေရန်သေချာစွာနားလည်နိုင်သည်။