কম্পিউটার

পিএইচপি অবজেক্ট সিরিয়ালাইজেশন


পরিচয়

বাইট-স্ট্রিম আকারে যেকোনো বস্তুর একটি স্ট্রিং উপস্থাপনা serialze() দ্বারা প্রাপ্ত হয় PHP-তে ফাংশন। অবজেক্টের সমস্ত প্রপার্টি ভেরিয়েবল স্ট্রিং এর মধ্যে থাকে এবং পদ্ধতিগুলো সেভ করা হয় না। এই স্ট্রিংটি যেকোনো ফাইলে সংরক্ষণ করা যেতে পারে।

বাইট স্ট্রীম থেকে বস্তু পুনরুদ্ধার করতে, unserialize() ফাংশন আছে। unserialize() কল করার আগে সংশ্লিষ্ট ক্লাসের সংজ্ঞা অবশ্যই উপলব্ধ থাকতে হবে ফাংশন।

উদাহরণ

প্রথমে আমরা নিম্নলিখিত ক্লাসের একটি অবজেক্টকে সিরিয়ালাইজ করি এবং একটি ফাইলে স্ট্রিং সংরক্ষণ করি।

<?php
class test1{
   private $name;
   function __construct($arg){
      $this->name=$arg;
   }
}
$obj1=new test1("Kiran");
$str=serialize($obj1);
$fd=fopen("obj.txt","w");
fwrite($fd, $str);
fclose($fd);
?>

বর্তমান ফোল্ডারে, obj.txt তৈরি করা হয়। আনসিরিয়ালাইজ করার জন্য, নিম্নলিখিত কোড প্রদত্ত ফাইল থেকে পড়া বাইট স্ট্রীম থেকে অবজেক্ট পুনর্গঠন করে

উদাহরণ

<?php
class test1{
   private $name;
   function __construct($arg){
      $this->name=$arg;
   }
   function getname(){
      return $this->name;
   }
}
$filename="obj.txt";
$fd=fopen("obj.txt","r");
$str=fread($fd, filesize($filename));
$obj=unserialize($str);
echo "name: ' . $obj->getname();
?>

আউটপুট

উপরের কোডটি এখন আউটপুট অনুসরণ করে নাম প্রদান করে

name: Kiran

  1. PHP-তে method_exists() ফাংশন

  2. PHP-তে is_a() ফাংশন

  3. PHP-তে get_class() ফাংশন

  4. PHP-তে get_object_vars() ফাংশন