__unserialize মেথড

__unserialize মেথডটি স্বয়ংক্রিয়ভাবে কল হয় যখন একটি অবজেক্টকে unserialize ফাংশন ব্যবহার করে ডিসিরিয়ালাইজ করা হয়। এটি একটি প্যারামিটার হিসেবে একটি অ্যারে নেয় যাতে সেই ডেটা থাকে যা পূর্বে __serialize মেথড দ্বারা প্রস্তুত করা হয়েছিল।

সিনট্যাক্স

phppublic function __unserialize(array $data): void

উদাহরণ

আসুন __serialize এবং __unserialize মেথড সহ একটি ক্লাস তৈরি করি:

php<?php
class User {
  private $name;
  private $age;
  
  public function __construct($name, $age) {
    $this->name = $name;
    $this->age = $age;
  }
  
  public function __serialize(): array {
    return ['name' => $this->name, 'age' => $this->age];
  }
  
  public function __unserialize(array $data): void {
    $this->name = $data['name'];
    $this->age = $data['age'];
  }
  
  public function getInfo() {
    return $this->name . ', ' . $this->age;
  }
}

$user = new User('John', 30);
$serialized = serialize($user);
$unserialized = unserialize($serialized);

echo $unserialized->getInfo();
?>

কোড 실행ের ফলাফল:

php'John, 30'

উদাহরণ

প্রাইভেট প্রোপার্টি সহ __unserialize এর ব্যবহার:

php<?php
class Product {
  private $id;
  private $price;
  
  public function __construct($id, $price) {
    $this->id = $id;
    $this->price = $price;
  }
  
  public function __serialize(): array {
    return ['id' => $this->id, 'price' => $this->price];
  }
  
  public function __unserialize(array $data): void {
    $this->id = $data['id'];
    $this->price = $data['price'];
  }
  
  public function getPrice() {
    return $this->price;
  }
}

$product = new Product(123, 99.99);
$serialized = serialize($product);
$unserialized = unserialize($serialized);

echo $unserialized->getPrice();
?>

কোড 실행ের ফলাফল:

php99.99

আরও দেখুন

  • __serialize মেথড,
    যা একটি অবজেক্টকে সিরিয়ালাইজেশনের জন্য প্রস্তুত করে
  • serialize ফাংশন,
    যা একটি অবজেক্টকে স্ট্রিং-এ রূপান্তর করে