首頁 > 後端開發 > PHP問題 > php為什麼要序列化

php為什麼要序列化

(*-*)浩
發布: 2023-02-24 22:54:01
原創
2891 人瀏覽過

序列化就是將物件轉換為容易傳輸的格式的過程,一般情況下轉化為流文件,放入記憶體或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中文網其他相關文章!

相關標籤:
php
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板