แนะนำตัว
การแสดงสตริงของอ็อบเจกต์ใดๆ ในรูปแบบของ 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