php—Serializable介面

來源:互聯網
上載者:User
自訂序列化的介面

實現此介面的類將不再支援 __sleep() 和 __wakeup()。不論何時,只要有執行個體需要被序列化,serialize 方法都將被調用。它將不會調用 __destruct() 或有其他影響,除非程式化地調用此方法。當資料被還原序列化時,類將被感知並且調用合適的 unserialize() 方法而不是調用 __construct()。如果需要執行標準的構造器,你應該在這個方法中進行處理。

介面摘要

Serializable {    /* 方法 */    abstract public string serialize ( void )    abstract public mixed unserialize ( string $serialized )}

Example #1 使用範例

<?php    class obj implements Serializable {        private $data;        public function __construct() {            $this->data = "My private data";        }        public function serialize() {            return serialize($this->data);        }        public function unserialize($data) {            $this->data = unserialize($data);        }        public function getData() {            return $this->data;        }    }    $obj = new obj;    $ser = serialize($obj);    $newobj = unserialize($ser);    var_dump($newobj->getData());?>

以上常式的輸出類似於:

string(15) "My private data"

方法列表

Serializable::serialize — 對象的字串表示

Serializable::unserialize — 構造對象

相關文章:

Java序列化Serializable和Externalizable區別的範例程式碼

Java序列化之Serializable

java 序列化對象 serializable 讀寫資料的執行個體

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.