首頁  >  文章  >  後端開發  >  php為什麼要序列化

php為什麼要序列化

(*-*)浩
(*-*)浩原創
2019-09-26 11:11:402843瀏覽

序列化就是將物件轉換為容易傳輸的格式的過程,一般情況下轉化為流文件,放入記憶體或IO文件中。

php為什麼要序列化

例如,可以序列化一個對象,然後使用HTTP 透過Internet 在客戶端和伺服器之間傳輸該對象,或和其它應用程式共享使用。 反之,反序列化根據流重新建構物件。

PHP序列化:(推薦學習:PHP程式設計從入門到精通

string serialize ( mixed $value )

序列化是將變數或物件轉換成字符串的過程。

在序列化時,系統會先呼叫__sleep()魔術方法,然後在裡邊對資料進行篩選,就像要出門挑選要帶的衣服一樣,預設是一個物件的全部屬性,然後再呼叫serialize()函數就像這樣:

<?php
class Animal{
public $name;
public $age;
public $height;
function __construct($name,$age,$heigh){
$this->name=$name;
$this->age=$age;
$this->height=$heigh;
 
}
function __sleep(){
$this->name="小白猫";
return [&#39;name&#39;,&#39;age&#39;,];
 
}
function __wakeup(){
 
}
}
$cat=new Animal("小花猫",5,20);
var_dump(serialize($cat));
 
?>

在上邊的範例最後輸出序列化內容是這樣:

php為什麼要序列化

序列化的過程與回呼函數的關係:回呼函數概念是一個函數的參數是另一個函數的回傳值,而在序列化時,serialize()函數的參數就是__sleep()函數的回傳值,所以序列化的過程就是一次回呼函數的執行過程。

以上是php為什麼要序列化的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn