357 of 410 menu

__serialize နည်းလမ်း

မှော်နည်းလမ်း __serialize ကို object တစ်ခုကို serialize ဖြင့် serialization ပြုလုပ်သည့်အခါ ခေါ်ယူပါသည်။ ၎င်းသည် serialization ပြုလုပ်ရန် အချက်အလက်များ array တစ်ခုအနေဖြင့် ပြန်ပေးရပါမည်။ ဤနည်းလမ်းသည် PHP 7.4 တွင် serialization လုပ်ငန်းစဉ်ကို ပိုမိုကျိုးကြောင်းညီညွတ်စွာ ထိန်းချုပ်နိုင်သော __sleep နည်းလမ်း၏ အစားထိုးနည်းလမ်းတစ်ခုအနေဖြင့် ပေါ်ပေါက်လာခဲ့သည်။

ဖွဲ့စည်းပုံ

public function __serialize(): array

ဥပမာ

မည်သည့် object ၏ properties များကို serialization ပြုလုပ်ရမည်ကို သတ်မှတ်ပေးမည့် __serialize နည်းလမ်းပါရှိသော class တစ်ခုကို ဖန်တီးကြပါစို့။

<?php class User { public $name; private $password; public $email; public function __construct($name, $password, $email) { $this->name = $name; $this->password = $password; $this->email = $email; } public function __serialize(): array { return [ 'name' => $this->name, 'email' => $this->email, 'hash' => md5($this->password) ]; } } $user = new User('John', 'secret123', 'john@example.com'); echo serialize($user); ?>

ကုဒ်ဖြင့်လုပ်ဆောင်မှု၏ ရလဒ်။

'O:4:"User":3:{s:4:"name";s:4:"John";s:5:"email";s:15:"john@example.com";s:4:"hash";s:32:"e5e9fa1ba31ecd1ae84f75caaa474f3a";}'

ဥပမာ

__serialize နှင့် __sleep တို့၏ ကွာခြားချက်ကို ပြသကြပါစို့။

<?php class Product { public $id; protected $price; private $discount; public function __sleep() { return ['id', 'price']; } public function __serialize(): array { return [ 'id' => $this->id, 'price' => $this->price * (1 - $this->discount) ]; } } $product = new Product(); $product->id = 100; $product->price = 50; $product->discount = 0.1; echo "Sleep: " . serialize($product) . "\n"; echo "Serialize: " . serialize($product); ?>

ကုဒ်ဖြင့်လုပ်ဆောင်မှု၏ ရလဒ်။

'Sleep: O:7:"Product":2:{s:2:"id";i:100;s:5:"price";i:50;}' 'Serialize: O:7:"Product":2:{s:2:"id";i:100;s:5:"price";d:45;}'

ဤအကြောင်းကိုလည်း ကြည့်ပါ

  • serialize လုပ်ဆောင်ချက်,
    တန်ဖိုးတစ်ခုကို သိမ်းဆည်းထားနိုင်သော string တစ်ခုအဖြစ်သို့ ပြောင်းလဲပေးသည်
မြန်မာ
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
ဝက်ဘ်ဆိုက် လုပ်ဆောင်ခြင်း၊ ဆန်းစစ်လေ့လာခြင်းနှင့် ပုဂ္ဂလိကပြုပြင်ခြင်းအတွက် ကျွန်ုပ်တို့သည် cookie များကို အသုံးပြုပါသည်။ ဒေတာများကို ပြုပြင်ခြင်းသည် ကိုယ်ရေးကိုယ်တာ မူဝါဒအတိုင်း ဖြစ်ပါသည်။
အားလုံးလက်ခံရန် ပြင်ဆင်ရန် ငြင်းပယ်ရန်