แนะนำตัว
การแสดงสตริงของอ็อบเจกต์ใดๆ ในรูปแบบของ byte-stream ได้มาจาก 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 จะถูกสร้างขึ้น หากต้องการ unserialize โค้ดต่อไปนี้จะสร้างอ็อบเจ็กต์จากไบต์สตรีมที่อ่านจากไฟล์ที่กำหนดใหม่
ตัวอย่าง
<?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