Heim Backend-Entwicklung PHP-Tutorial Serialisierung und Deserialisierung von Objekten in PHP

Serialisierung und Deserialisierung von Objekten in PHP

Jun 28, 2018 pm 03:38 PM

* 1. Serialisierung von Objekten

* 1. Jeder Wert in PHP kann in eine Zeichenfolge serialisiert werden, die eine Byte-Stream-Darstellung enthält

* 2. Serialisierungsobjekte können in Variablen oder gespeichert werden Dateien zum einfachen Speichern und Übertragen

//Numerische Serialisierung

$num = 500;
echo serialize($num),&#39;<br>&#39;;
Nach dem Login kopieren

//String-Serialisierung

$name = &#39;peter&#39;;
echo serialize($name),&#39;<br>&#39;;
Nach dem Login kopieren

//Array-Serialisierung

$course = [&#39;php&#39;,&#39;mysql&#39;,&#39;thinkphp&#39;];
echo serialize($course),&#39;<br>&#39;;
Nach dem Login kopieren

//Boolesche Serialisierung

$isPass = true;
echo serialize($isPass),&#39;<br>&#39;;
Nach dem Login kopieren

//Objektserialisierung: Nehmen Sie eine Datenbankverbindungsklasse als Beispiel

class Db
{
    //连接参数与返回值
    public $db = null;
    public $host;
    private $user;
    private $pass;
    //构造方法
    public function __construct($host=&#39;localhost&#39;,$user=&#39;root&#39;,$pass=&#39;root&#39;)
    {
        //类属性初始化
        $this->host = $host;
        $this->user = $user;
        $this->pass = $pass;
        
        //创建对象时自动连接数据库
        $this->connect();
    }
    
    //连接数据库的方法
    private function connect()
    {
        $this->db = mysqli_connect($this->host,$this->user, $this->pass);
    }
    
    //serialize($obj)序列化的时候,会自动调用__sleep(void)
    //主要用于对象休眠时的一些清理工作,例如指定哪些属性允许进入到休眠对象的属性序列中
    public function __sleep()
    {
        //返回由属性名字符串组成的索引数组,指示序列化时要保存的字段名
        return [&#39;host&#39;,&#39;user&#39;,&#39;pass&#39;];
        //对于本案例来说,如果连接参数不变的情况下,只要将$this->db保存到对象序列中即可
//        return [&#39;db&#39;];
    }
    
    //unserialize()反序列化的时候,会自动调用__wakeup(void)
    //主要用于唤醒对象时要做的初始化工作,例如本例中的:自动连接数据库
    public function __wakeup()
    {
        $this->connect();
    }
    
}
$obj = new Db();
Nach dem Login kopieren

* Merkmale der Objektserialisierung:

* 1. Speichern Sie nur die Attribute im Objekt, nicht die Methode

* 2. Speichern Sie nur den Klassennamen, nicht den Objektnamen

echo serialize($obj);
Nach dem Login kopieren

//Um die Deserialisierung zu demonstrieren, werden wir das serialisierte Objekt in einer Variablen speichern, das ist natürlich auch möglich in einer Datei gespeichert

$tmp1 = serialize($obj);
Nach dem Login kopieren

//Sehen Sie sich den Inhalt der serialisierten Variablen an, der mit dem vorherigen serialisierten Inhalt identisch ist

echo $tmp1;
Nach dem Login kopieren

// Führen Sie nun den Deserialisierungsvorgang durch und nehmen Sie das in der Datei gespeicherte Objekt heraus Variable

$tmp2 = unserialize($tmp1);
Nach dem Login kopieren

//Erkennen Sie, ob $tmp2 ein Objekt ist

echo &#39;<hr>&#39;;
echo is_object($tmp2) ? &#39;对象&#39; : &#39;不是&#39;;
echo &#39;<hr>&#39;;
Nach dem Login kopieren

//Rufen Sie die Attribute ab und zeigen Sie das Datenbankverbindungsobjekt an

var_dump($tmp2->db);
Nach dem Login kopieren


Das obige ist der detaillierte Inhalt vonSerialisierung und Deserialisierung von Objekten in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Repo: Wie man Teamkollegen wiederbelebt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So konvertieren Sie ein PHP-Array in ein Objekt in einer Schleife So konvertieren Sie ein PHP-Array in ein Objekt in einer Schleife Aug 10, 2023 pm 02:44 PM

Es gibt zwei Möglichkeiten, ein PHP-Array in einer Schleife in ein Objekt zu konvertieren: 1. Verwenden Sie die erzwungene Typkonvertierung, um das Array in ein Objekt zu konvertieren. Die Schlüssel des Arrays müssen gültige Objektattributnamen sein. 2. Erstellen Sie ein neues Objekt und Fügen Sie die Elemente des Arrays in das Objekt hinzu, unabhängig davon, ob die Array-Schlüssel als Eigenschaftsnamen des Objekts gültig sind.

Was ist schneller: PHP-Objektoperation oder Array-Operation? Was ist schneller: PHP-Objektoperation oder Array-Operation? Jul 12, 2023 pm 03:04 PM

PHP-Array-Operationen sind schneller als PHP-Objektoperationen: 1. Objektoperationen umfassen Schritte wie das Erstellen von Objekten, das Aufrufen von Methoden und den Zugriff auf Eigenschaften, deren Leistung möglicherweise langsamer ist. 2. Array-Operationen sind eine spezielle Art von Variablen. Kann mehrere Werte speichern, verschiedene Methoden und Funktionen für Arrays verwenden und schnelle und effiziente Operationen für Arrays ausführen.

Sind PHP-Arrays Objekte? Sind PHP-Arrays Objekte? Jul 22, 2022 pm 05:24 PM

PHP-Arrays sind keine Objekte. In PHP sind Arrays und Objekte zwei verschiedene Datentypen. Ein Array ist eine Sammlung geordneter Daten und ein Objekt ist das Ergebnis der Instanziierung einer Klasse, die nicht nur Eigenschaften, sondern auch Methoden enthält. Objekte können Operationen an Daten kapseln, Arrays jedoch nicht.

Was ist der Unterschied zwischen PHP-Objekten und Arrays? Was ist der Unterschied zwischen PHP-Objekten und Arrays? Aug 24, 2023 pm 05:02 PM

Der Unterschied zwischen PHP-Objekten und Arrays ist: 1. Das Objekt ist ein zusammengesetzter Datentyp, während das Array ein einfacher Datentyp ist. 2. Auf die Eigenschaften und Methoden des Objekts kann über die Instanz des Objekts zugegriffen werden Auf das Array kann über den Index zugegriffen werden. 3. Ein Objekt ist eine Entität, die Eigenschaften und Methoden kapselt, während ein Array eine geordnete Sammlung von Elementen ist. 4. Objekte werden in PHP als Referenz übergeben, während Arrays als Wert übergeben werden PHP 5. Objekte eignen sich zur Beschreibung von Entitäten mit Zustand und Verhalten, während Arrays zum Speichern und Verarbeiten großer Mengen ähnlicher Daten geeignet sind.

So verwenden Sie Objektvariablen in PHP So verwenden Sie Objektvariablen in PHP Sep 13, 2023 pm 12:59 PM

Für die Verwendung von Objektvariablen in PHP sind spezifische Codebeispiele erforderlich. In PHP erleichtert die Verwendung von Objektvariablen die Verwaltung und Manipulation von Objekten. Eine Objektvariable ist ein Datentyp, der Objektinstanzen speichert. Das Objekt kann durch Aufrufen von Methoden der Klasse und Zugriff auf die Eigenschaften der Klasse manipuliert werden. Im Folgenden wird die Verwendung von Objektvariablen in PHP ausführlich vorgestellt und entsprechende Codebeispiele bereitgestellt. Objekte erstellen In PHP können Sie das Schlüsselwort new zum Erstellen von Objekten verwenden. Ein Beispiel lautet wie folgt: classCar{public$colo

Erfahren Sie, wie Sie Objektmethoden in PHP aufrufen Erfahren Sie, wie Sie Objektmethoden in PHP aufrufen Mar 28, 2023 pm 03:00 PM

PHP ist eine sehr beliebte Programmiersprache, mit der sich verschiedene Anwendungen, insbesondere Webanwendungen, entwickeln lassen. In PHP ist die objektorientierte Programmierung eine der wichtigsten Funktionen. In diesem Artikel wird untersucht, wie Objektmethoden in PHP aufgerufen werden.

Funktionsinstanzen von PHP-Objekten und -Klassen Funktionsinstanzen von PHP-Objekten und -Klassen Jun 16, 2023 am 09:51 AM

PHP ist eine objektorientierte Programmiersprache, die die Konzepte von Objekten und Klassen unterstützt. In PHP ist ein Objekt eine Instanz einer Klasse, die Daten und Funktionen, sogenannte Methoden, speichern kann. Durch die Verwendung von Funktionen von PHP-Objekten und -Klassen können wir den Code einfach organisieren und die Wiederverwendbarkeit des Codes verbessern. In diesem Artikel stellen wir Beispiele für Funktionen von PHP-Objekten und -Klassen und deren Funktionalität vor. Konstruktor (__construct) Ein Konstruktor ist eine Funktion, die automatisch aufgerufen wird, wenn ein Objekt erstellt wird. Es wird verwendet, um die Eigenschaften des Objekts zu initialisieren und auszuführen

So erhalten Sie alle Methoden in einem Objekt in PHP So erhalten Sie alle Methoden in einem Objekt in PHP Mar 23, 2023 am 11:12 AM

In PHP ist es sehr einfach, alle Methoden in einem Objekt abzurufen, was durch die Verwendung der ReflectionClass-Klasse in der PHP-Standardbibliothek erreicht werden kann. Die ReflectionClass-Klasse stellt eine Methode bereit, um alle Informationen einer Klasse in PHP wiederzugeben, einschließlich Klassenname, Attribute, Methoden usw. Im Folgenden stellen wir detailliert vor, wie Sie die ReflectionClass-Klasse verwenden, um alle Methoden in einem Objekt abzurufen.

See all articles