国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

PHP自定義序列化接口Serializable用法分析

2024-05-05 00:01:41
字體:
來源:轉載
供稿:網友

本文實例講述了PHP自定義序列化接口Serializable用法。分享給大家供大家參考,具體如下:

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::unserializeecho $newobj->getData();// 調用obj::getData// 執行結束,調用析構函數,先執行newobj對象的析構函數在執行obj對象的析構函數?>

以上例子輸出:

調用構造函數這是一段測試文字step:1 調用析構函數step:0 調用析構函數

希望本文所述對大家PHP程序設計有所幫助。


注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 元阳县| 宿州市| 澄江县| 高尔夫| 额尔古纳市| 宁晋县| 沙田区| 增城市| 白水县| 丰县| 渭源县| 班玛县| 淮安市| 江油市| 慈利县| 永定县| 如皋市| 会泽县| 昌平区| 娄底市| 永川市| 松桃| 奉化市| 丹寨县| 宣武区| 乌兰察布市| 凉城县| 长沙县| 岑巩县| 个旧市| 措勤县| 邯郸市| 威远县| 河南省| 厦门市| 宜兰县| 保亭| 宝兴县| 芒康县| 五河县| 甘谷县|