Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Erläuterung der PHP-Serialisierung und Deserialisierung

Detaillierte Erläuterung der PHP-Serialisierung und Deserialisierung

小云云
小云云Original
2018-03-31 09:56:242910Durchsuche

Die sogenannte Serialisierung besteht darin, die Daten einer Variablen in eine Zeichenfolge umzuwandeln (sie unterscheidet sich jedoch von der Typkonvertierung). Der Zweck besteht darin, diese Zeichenfolge (als Textdatei) zu speichern, damit sie deserialisiert und wiederhergestellt werden kann, wenn sie in anderen Umgebungen ausgeführt wird. (Wird im Allgemeinen dort verwendet, wo Daten gespeichert werden müssen)

Serialisierung:

$str=serialize ($variable) //Konvertieren Sie die Daten in eine Zeichenfolge und speichern Sie sie in der Variablen $ str.

file_put_conetents("Textdateipfad",$str);//Speichern Sie die Datei in einer Textdatei.

Deserialisierung:

$str=file_get_contents("Text file path");//Die in der Datei gespeicherten serialisierten Informationen abrufen.

$value=unserialize($str); //Konvertieren Sie den abgerufenen String-Inhalt in normale Daten und speichern Sie ihn in $value.

Magische Methoden zur Serialisierung und Deserialisierung:

__sleep(): Beim Serialisieren eines Objekts einer bestimmten Klasse wird automatisch die Methode __sleep() aufgerufen
Verwenden Sie diese Methode, um die zu serialisierenden Daten auszuwählen, die erforderlichen Attribute auszuwählen und sie im Array zu speichern. Der Wert wird nach dem Ende zurückgegeben.


__wakeup(): Genau das Gegenteil von __sleep() Wenn es während der Deserialisierung aufgerufen wird, können einige nützliche Vorgänge ausgeführt werden, um den Status vor der Serialisierung wiederherzustellen (z. B. Datenbankverbindung). Da die Serialisierung nur die erforderlichen Attribute in Zeichenfolgen umwandelt und speichert und die Deserialisierung die Zeichenfolgen nur wieder in Daten umwandelt, einige Zustände jedoch nicht in den vorherigen Zustand zurückkehren, können Sie den Vorgang mit __wakeup() ausführen. wieder in den exakt gleichen Zustand wie zuvor.


Verwandte Empfehlungen:

Detaillierte Erläuterung der PHP-Serialisierungs- und Deserialisierungsprinzipien

Anwenden von PHP-Serialisierungs-Array-Techniken_PHP-Tutorial

Detaillierte Erläuterung der PHP-Serialisierungs- und Deserialisierungsmethoden, detaillierte Erläuterung der PHP-Serialisierung und Deserialisierung_PHP-Tutorial

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der PHP-Serialisierung und Deserialisierung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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