Heim > Backend-Entwicklung > PHP-Tutorial > Detaillierte Erläuterung der Schnittstelle für serialisierbare Sequenzlisten von PHP

Detaillierte Erläuterung der Schnittstelle für serialisierbare Sequenzlisten von PHP

小云云
Freigeben: 2023-03-21 22:10:01
Original
1299 Leute haben es durchsucht

Um die Serialisierungsschnittstelle anzupassen, müssen Sie die Serialisierungs- und Deserialisierungsmethoden selbst implementieren. Klassen, die diese Schnittstelle implementieren, unterstützen __sleep() und __wakeup() nicht mehr. Immer wenn eine Instanz serialisiert werden muss, wird die Serialisierungsmethode aufgerufen, nicht __destruct(). Wenn Daten deserialisiert werden, erkennt die Klasse die entsprechende unserialize()-Methode und ruft sie auf, anstatt __construct() aufzurufen.

Schnittstellenzusammenfassung:

Serializable {
    /* 方法 */
    abstract public string serialize ( void )
    abstract public mixed unserialize ( string $serialized )
}
Nach dem Login kopieren

Beispielbeschreibung:

<?php
/** 
 * 自定义类的序列化操作
 * 
 * @author 疯狂老司机 
 */ 
class obj implements Serializable {
    private $data;
    public function __construct() {
        $this->data = "My private data";
    }
    public function serialize() {
        return serialize($this->data);
    }
    public function unserialize($data) {
        $this->data = unserialize($data);
    }
    public function getData() {
        return $this->data;
    }
}

$obj = new obj;
$ser = serialize($obj);
$newobj = unserialize($ser);

var_dump($newobj->getData());
?>
Nach dem Login kopieren

Ausgabe:

Zeichenfolge „Meine privaten Daten“
Verwandte Empfehlungen:

php – Serialisierbare Schnittstelle

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Schnittstelle für serialisierbare Sequenzlisten von PHP. 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