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

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

小云云
小云云Original
2018-03-22 09:37:001271Durchsuche

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 )
}

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());
?>

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!

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
Vorheriger Artikel:PHP-SortierblasensortierungNächster Artikel:PHP-Sortierblasensortierung