Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> PHP

PHP Object Serialization


แนะนำตัว

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