Heim > Backend-Entwicklung > PHP-Tutorial > [PHP-Klassen und -Objekte] Objektserialisierung

[PHP-Klassen und -Objekte] Objektserialisierung

不言
Freigeben: 2023-03-24 10:14:02
Original
2767 Leute haben es durchsucht

Der Inhalt dieses Artikels handelt von der [PHP-Klassen und Objekten]-Objektserialisierung, die einen gewissen Referenzwert hat. Jetzt kann ich sie mit allen teilen. Freunde in Not können sich auf

Objektsequenz beziehen

Objekte serialisieren – Objekte in der Sitzung speichern

serialize() kann alle Werte in PHP serialisieren, um einen durch eine Zeichenfolge dargestellten Bytestrom zurückzugeben.
Die Funktion unserialize() kann die Zeichenfolge wieder auf den ursprünglichen Wert von PHP zurücksetzen.

Durch die Serialisierung eines Objekts werden alle Variablen des Objekts gespeichert, die Methoden des Objekts werden jedoch nicht gespeichert, sondern nur der Name der Klasse.

unserialize() Objekt, die Klasse des Objekts muss definiert werden.
Wenn Sie ein Objekt der Klasse A serialisieren, wird eine Zeichenfolge zurückgegeben, die sich auf Klasse A bezieht und die Werte aller Variablen des Objekts enthält.
Wenn Sie ein Objekt in einer anderen Datei deserialisieren möchten, muss die Klasse des Objekts vor dem Deserialisieren definiert werden, entweder durch Einschließen einer Datei, die die Klasse definiert, oder durch Verwendung der Funktion 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(&#39;store&#39;, $s);// page2.php:

  // 要正确了解序列化,必须包含下面一个文件
  include("classa.inc");  $s = file_get_contents(&#39;store&#39;);  $a = unserialize($s);  // 现在可以使用对象$a里面的函数 show_one()
  $a->show_one();?>
Nach dem Login kopieren
Nach dem Login kopieren

Verwenden Sie die Funktion session_register(), um Objekte in der Sitzung zu speichern. Diese Objekte werden am Ende jeder Seite automatisch serialisiert und am Anfang jeder Seite deserialisiert. Sobald die Objekte in der Sitzung gespeichert sind, stehen sie den Seiten in der gesamten Anwendung zur Verfügung.

Serialisierungs-/Deserialisierungsereignisse können mit den Methoden __sleep() und __wakeup() für das Objekt verarbeitet werden.

session_register() In PHP 5.3.0 veraltet und in PHP 5.4.0 entfernt.

Objektserialisierung

Objekte serialisieren – Objekte in der Sitzung speichern

serialize() kann alle PHP-Werte darin serialisieren wird als String zurückgegeben, der einen Bytestream enthält.
Die Funktion unserialize() kann die Zeichenfolge wieder auf den ursprünglichen Wert von PHP zurücksetzen.

Durch die Serialisierung eines Objekts werden alle Variablen des Objekts gespeichert, die Methoden des Objekts werden jedoch nicht gespeichert, sondern nur der Name der Klasse.

unserialize() Objekt, die Klasse des Objekts muss definiert werden.
Wenn Sie ein Objekt der Klasse A serialisieren, wird eine Zeichenfolge zurückgegeben, die sich auf Klasse A bezieht und die Werte aller Variablen des Objekts enthält.
Wenn Sie ein Objekt in einer anderen Datei deserialisieren möchten, muss die Klasse des Objekts vor dem Deserialisieren definiert werden, entweder durch Einschließen einer Datei, die die Klasse definiert, oder durch Verwendung der Funktion 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(&#39;store&#39;, $s);// page2.php:

  // 要正确了解序列化,必须包含下面一个文件
  include("classa.inc");  $s = file_get_contents(&#39;store&#39;);  $a = unserialize($s);  // 现在可以使用对象$a里面的函数 show_one()
  $a->show_one();?>
Nach dem Login kopieren
Nach dem Login kopieren

Verwenden Sie die Funktion session_register(), um Objekte in der Sitzung zu speichern. Diese Objekte werden am Ende jeder Seite automatisch serialisiert und am Anfang jeder Seite deserialisiert. Sobald die Objekte in der Sitzung gespeichert sind, stehen sie den Seiten in der gesamten Anwendung zur Verfügung.

Serialisierungs-/Deserialisierungsereignisse können mit den Methoden __sleep() und __wakeup() für das Objekt verarbeitet werden.

session_register() In PHP 5.3.0 veraltet und in PHP 5.4.0 entfernt.

Verwandte Empfehlungen:

[php-Klassen und -Objekte]-Objekte und -Referenzen

[php-Klassen und -Objekte]-Eigenschaft

[php-Klassen und -Objekte] Endgültiges Schlüsselwort

Das obige ist der detaillierte Inhalt von[PHP-Klassen und -Objekte] Objektserialisierung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage