您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關Serializable如何在PHP中使用,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
PHP Serializable是自定義序列化的接口。實現此接口的類將不再支持__sleep()和__wakeup(),當類的實例被序列化時將自動調用serialize方法,并且不會調用 __destruct()或有其他影響。當類的實例被反序列化時,將調用unserialize()方法,并且不執行__construct()。接口摘要如下:
Serializable { abstract 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::unserialize echo $newobj->getData();// 調用obj::getData // 執行結束,調用析構函數,先執行newobj對象的析構函數在執行obj對象的析構函數 ?>
以上例子輸出:
調用構造函數 這是一段測試文字 step:1 調用析構函數 step:0 調用析構函數
以上就是Serializable如何在PHP中使用,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。