亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

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

连南| 修武县| 喀什市| 桂林市| 辉县市| 舟山市| 台北市| 洱源县| 濉溪县| 敦化市| 凤山市| 梁山县| 宜川县| 屯留县| 扬州市| 景宁| 馆陶县| 新民市| 鹿邑县| 黄冈市| 礼泉县| 科技| 天峻县| 宜兰县| 乐至县| 白玉县| 濮阳县| 建德市| 林周县| 信丰县| 山东| 简阳市| 凌源市| 黔西县| 庆元县| 花莲县| 阳原县| 淄博市| 离岛区| 望奎县| 江永县|