ভূমিকা
PHP-এ serialize() ফাংশন দ্বারা যেকোনো অবজেক্টের একটি স্ট্রিং রিপ্রেজেন্টেশন বাইট-স্ট্রিম আকারে প্রাপ্ত হয়। অবজেক্টের সকল প্রপার্টি ভেরিয়েবল স্ট্রিং-এ থাকে কিন্তু মেথডগুলো সংরক্ষিত হয় না। এই স্ট্রিং যেকোনো ফাইলে সংরক্ষণ করা যায়।
বাইট স্ট্রিম থেকে অবজেক্ট রিকভার করতে, 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