91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

php對象的序列化

發布時間:2020-05-23 17:16:28 來源:網絡 閱讀:225 作者:三月 欄目:web開發

本文主要給大家介紹php對象的序列化,文章內容都是筆者用心摘選和編輯的,具有一定的針對性,對大家的參考意義還是比較大的,下面跟筆者一起了解下php對象的序列化吧。 

所有php里面的值都可以使用函數serialize()來返回一個包含字節流的字符串來表示。unserialize()函數能夠重新把字符串變回php原來的值。 序列化一個對象將會保存對象的所有變量,但是不會保存對象的方法,只會保存類的名字。

為了能夠unserialize()一個對象,這個對象的類必須已經定義過。如果序列化類A的一個對象,將會返回一個跟類A相關,而且包含了對象所有變量值的字符串。 如果要想在另外一個文件中解序列化一個對象,這個對象的類必須在解序列化之前定義,可以通過包含一個定義該類的文件或使用函數spl_autoload_register()來實現。

<?php
// classa.inc:
  
  class A {
      public $one = 1;
    
      public function show_one() {
          echo $this->one;
      }
  }
  
// page1.php:

  include("classa.inc");
  
  $a = new A;
  $s = serialize($a);
  // 把變量$s保存起來以便文件page2.php能夠讀到
  file_put_contents('store', $s);

// page2.php:
  
  // 要正確了解序列化,必須包含下面一個文件
  include("classa.inc");

  $s = file_get_contents('store');
  $a = unserialize($s);

  // 現在可以使用對象$a里面的函數 show_one()
  $a->show_one();
?>

當一個應用程序使用函數session_register()來保存對象到會話中時,在每個頁面結束的時候這些對象都會自動序列化,而在每個頁面開始的時候又自動解序列化。 所以一旦對象被保存在會話中,整個應用程序的頁面都能使用這些對象。但是,session_register()在php5.4.0之后被移除了。

在應用程序中序列化對象以便在之后使用,強烈推薦在整個應用程序都包含對象的類的定義。 不然有可能出現在解序列化對象的時候,沒有找到該對象的類的定義,從而把沒有方法的類__PHP_Incomplete_Class_Name作為該對象的類,導致返回一個沒有用的對象。

所以在上面的例子中,當運行session_register("a"),把變量放在會話里之后,需要在每個頁面都包含文件classa.inc,而不是只有文件和。

看完以上關于php對象的序列化,很多讀者朋友肯定多少有一定的了解,如需獲取更多的行業知識信息 ,可以持續關注我們的行業資訊欄目的。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

西峡县| 翁牛特旗| 合作市| 琼海市| 南涧| 定结县| 南宁市| 张家川| 汪清县| 房产| 贵港市| 玛多县| 扶余县| 门源| 汪清县| 泰顺县| 西平县| 灵寿县| 陇川县| 句容市| 疏附县| 城步| 新安县| 双柏县| 乐至县| 雷州市| 西乌| 绵竹市| 济宁市| 常德市| 泉州市| 广宗县| 隆安县| 翁牛特旗| 武威市| 滕州市| 昆山市| 自贡市| 朝阳县| 商河县| 永寿县|