本文實例講述了PHP自定義序列化接口Serializable用法。分享給大家供大家參考,具體如下:
PHP Serializable是自定義序列化的接口。實現此接口的類將不再支持__sleep()和__wakeup(),當類的實例被序列化時將自動調用serialize方法,并且不會調用 __destruct()或有其他影響。當類的實例被反序列化時,將調用unserialize()方法,并且不執行__construct()。接口摘要如下:
Serializable { abstract html' target='_blank'>public string serialize ( void ) abstract public mixed unserialize ( string $serialized )}
例子說明:
?php * 類自定義序列化相關操作 * @author 瘋狂老司機class obj implements Serializable { private $data; private $step = 0; * 構造函數 public function __construct() { $this- data = 這是一段測試文字 br echo 調用構造函數 br public function serialize() { return serialize($this- data); public function unserialize($data) { $this- step++; $this- data = unserialize($data); * 析構函數 public function __destruct() { echo step: .$this- step. 調用析構函數 br public function getData(){ return $this- data;$obj = new obj;// 調用obj::__construct$ser = serialize($obj);// 調用obj::serialize$newobj = unserialize($ser);// 調用obj::unserializeecho $newobj- getData();// 調用obj::getData// 執行結束,調用析構函數,先執行newobj對象的析構函數在執行obj對象的析構函數?
以上例子輸出:
調用構造函數這是一段測試文字step:1 調用析構函數step:0 調用析構函數您可能感興趣的文章:
PHP 的Opcache加速的使用方法詳解
利用Laravel生成Gravatar頭像地址的方法
詳談PHP中public,private,protected,abstract等關鍵字的相關用法
以上就是PHP自定義序列化接口Serializable用法分析講解的詳細內容,PHP教程
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。
|
新聞熱點
疑難解答