PHP ပရိုဂရမ်တွင် serialize function သည်အထူးသဖြင့်ရှုပ်ထွေးသောဒေတာများသို့မဟုတ်အရာဝတ်ထုများကဲ့သို့သောရှုပ်ထွေးသောအချက်အလက်များသို့မဟုတ်အရာဝတ်ထုများကိုဖိုင်များသို့လွှဲပြောင်းရန်လိုအပ်သည့်အခါသို့မဟုတ်ကွန်ယက်ပေါ်တွင်လွှဲပြောင်းရန်လိုအပ်သည့်အခါ၎င်းသည်အချက်အလက်များကိုကြိုးများသို့ပြောင်းလဲရန်လိုအပ်သည်။ ဤဆောင်းပါးသည် Serialize function ၏အခန်းကဏ် and ကိုမိတ်ဆက်ပေးပြီးဒေတာ Serialization နှင့် deserialization ကိုမည်သို့အကောင်အထည်ဖော်ရမည်, အထူးသဖြင့်စာမျက်နှာများကို URLs များမှတဆင့်အချက်အလက်များကိုမည်သို့ဖြတ်သန်းရမည်ကိုရှင်းပြပါမည်။
Serialize function သည် PHP ဒေတာတည်ဆောက်ပုံ (ဥပမာ array သို့မဟုတ်အရာဝတ်ထုတစ်ခုကဲ့သို့) HTTP တောင်းဆိုမှုများကိုအလွယ်တကူသိမ်းဆည်းထားနိုင်သည့် string တစ်ခုသို့ပြောင်းလဲပေးသည်။ ဤဒေတာဖွဲ့စည်းပုံကိုမူရင်းပုံစံသို့သင်ပြန်ယူရန်လိုအပ်သည့်အခါသင် unserialize function ကိုသုံးနိုင်သည်။
သဒ္ဒါ:
string serialize ( mixed $value )
parameters များ - $ တန်ဖိုး သည်သင် serialize လုပ်ချင်သည့်တန်ဖိုးသည် array များ, အရာဝတ်ထုများစသည်တို့အပါအ 0 င်အချက်အလက်အမျိုးအစားများဖြစ်နိုင်သည်။
ပြန်လာတန်ဖိုး - Serial ဒေတာကိုကိုယ်စားပြုသော string ကိုပြန်ပို့ပါ။
ဥပမာ -
$array = array('name' => 'Alice', 'age' => 25);
$serializedData = serialize($array);
echo $serializedData;
output string သည်ကြည့်ကောင်းနိုင်သည်။
a:2:{s:4:"name";s:5:"Alice";s:3:"age";i:25;}
deserialization သည် serialized string ကိုမူလ PHP ဒေတာဖွဲ့စည်းပုံသို့ပြန်လည်ရယူရန်ဖြစ်သည်။ ဤလုပ်ဆောင်မှုကိုအကောင်အထည်ဖော်ရန်သင် unserialize function ကိုသုံးနိုင်သည်။
သဒ္ဒါ:
mixed unserialize ( string $data )
parameters တွေကို - $ ဒေတာ ဆိုသည်မှာ serialized string တစ်ခုဖြစ်သည်။
Return Value: မူရင်းအချက်အလက်များကိုပြန်ပို့ခြင်း, များသောအားဖြင့် Array သို့မဟုတ် Object ကိုပြန်ပို့သည်။
ဥပမာ -
$serializedData = 'a:2:{s:4:"name";s:5:"Alice";s:3:"age";i:25;}';
$array = unserialize($serializedData);
print_r($array);
output ကိုဖြစ်လိမ့်မည်:
Array
(
[name] => Alice
[age] => 25
)
အကယ်. သင်သည်စာမျက်နှာတစ်ခုမှတစ်ခုသို့ URL မှတစ်ဆင့်ဒေတာများကိုဖြတ်သန်းလိုပါက array သို့မဟုတ်အရာဝတ်ထုတစ်ခုကို string တစ်ခုသို့ပြောင်းရန် Serialize function ကိုသုံးနိုင်သည်။ လက်ခံသူသည် data data ကို unserialize function ကို အသုံးပြု. ပြန်လည်ရယူနိုင်သည်။
သင်အခြားစာမျက်နှာသို့သွားလိုသည့် PHP ခင်းကျင်းမှုတစ်ခုရှိသည်ဆိုပါစို့။
// တစ်ခုခင်းကျင်းသတ်မှတ်ခြင်း
$data = array('name' => 'Alice', 'age' => 25);
// arrays serialize
$serializedData = serialize($data);
// URL encoded serialized ဒေတာ
$encodedData = urlencode($serializedData);
// မှတဆင့်ဒေတာဖြတ်သန်း URL အခြားစာမျက်နှာသို့ပို့ပါ
header('Location: receive.php?data=' . $encodedData);
exit;
ဤဥပမာတွင် URL Parameter တစ်ခုအနေဖြင့်လုံခြုံစွာကူးယူနိုင်ရန်အတွက် urlecode သုံး. serialized data များကို enecode ။
လက်ခံစာမျက်နှာတွင် လက်ခံသည့်အတွက် url ကို URL တွင် $ _get ဖြင့်ရနိုင်သည် ။
// ရယူ URL တေးရေး
if (isset($_GET['data'])) {
// ဒေတာ deserialize decode
$serializedData = urldecode($_GET['data']);
$data = unserialize($serializedData);
// output ကိုဒေတာ
echo 'Name: ' . $data['name'] . '<br>';
echo 'Age: ' . $data['age'] . '<br>';
} else {
echo 'No data received.';
}
URL အရှည်ကန့်သတ်ချက် - URL အရှည်သည်အများအားဖြင့်အမြင့်ဆုံးအမြင့်ဆုံး (များသောအားဖြင့် 2048 အက္ခရာများ) ရှိသည်။ post တောင်းဆိုမှုများကိုအသုံးပြုခြင်းသို့မဟုတ် session တစ်ခုအတွင်းအချက်အလက်များကိုသိုလှောင်ခြင်းသို့မဟုတ်သိမ်းဆည်းခြင်းများကိုစဉ်းစားပါ။
လုံခြုံရေး - အထူးသဖြင့် deferialized data-data ်ဌာန်းခြင်း မရှိသောသတင်းအချက်အလက်များကိုစိတ်မ 0 င်စားသောအချက်အလက်များမှလာသည်။ PHP 7 နှင့်အထက်တွင် အသုံးပြုခွင့်သည်ခွင့်ပြုထားသော အတန်းများကိုလုံခြုံရေးတိုးမြှင့်နိုင်သည့်ခွင့်ပြုထားသောအတန်းများကိုကန့်သတ်နိုင်သည်။
Serialize နှင့် unserialize functions များမှတဆင့် PHP သည်အချက်အလက်များကိုသိမ်းဆည်းခြင်းနှင့် deserialize လုပ်ရန်ရိုးရှင်းသောနှင့်ထိရောက်သောနည်းလမ်းကိုထောက်ပံ့ပေးသည်။ ဤလုပ်ဆောင်ချက်များနှင့်အတူစာမျက်နှာများအကြားရှုပ်ထွေးသောဒေတာအဆောက်အအုံများကိုအလွယ်တကူဖြတ်သန်းနိုင်သည်။ အထူးသဖြင့်သင် arrays သို့မဟုတ်အရာဝတ်ထုများကိုစာမျက်နှာများအနှံ့ဖြတ်ကျော်ရန်လိုအပ်သည့်အခါ Serialize သည်အလွန်အသုံးဝင်သောကိရိယာတစ်ခုဖြစ်သည်။ URL ၏အရှည်ကန့်သတ်ချက်များနှင့်လုံခြုံရေးပြ issues နာများကိုသာဂရုပြုပါ။