PHP 不支援原生永久物件(跨請求保持狀態),但提供 serialize() / unserialize() 將物件轉為字串儲存(檔案/資料庫/Session),後續還原。
<?php
$obj = new ClassFoo();
$str = serialize($obj); // 產生字串
// 儲存 $str 到檔案/資料庫
// ... 時間經過 ...
$str = file_get_contents('storage.dat');
$obj2 = unserialize($str); // 還原屬性
// 僅能透過 $obj2->property 存取屬性,無法呼叫方法
?>
__CLASS__,反序列化時由工廠根據類名實例化完整物件。Serializable 介面並嚴格測試版本兼容性。轉載自 PHPBuilder.com,譯者 limodou。