PHP 物件序列化
簡介
在 PHP 中,serialze() 函式以位元組流的形式獲取任何物件的字串表示形式。物件的所有屬性變數都包含在字串中,但不儲存方法。此字串可以儲存在任何檔案中。
要從位元組流中檢索物件,可以使用 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
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP