php – Serialisierbare Schnittstelle

伊谢尔伦
Freigeben: 2023-03-01 09:20:01
Original
1958 Leute haben es durchsucht

Benutzerdefinierte Serialisierungsschnittstelle.

Klassen, die diese Schnittstelle implementieren, unterstützen __sleep() und __wakeup() nicht mehr. Immer wenn eine Instanz serialisiert werden muss, wird die Methode serialize aufgerufen. Es wird weder __destruct() aufrufen noch andere Auswirkungen haben, es sei denn, diese Methode wird programmgesteuert aufgerufen. Wenn Daten deserialisiert werden, erkennt die Klasse dies und die entsprechende unserialize()-Methode wird aufgerufen, anstatt __construct() aufzurufen. Wenn Sie den Standardkonstruktor ausführen müssen, sollten Sie ihn in dieser Methode verarbeiten.

Schnittstellenzusammenfassung

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

Beispiel Nr. 1, Verwendungsbeispiel

<?php
    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

Die Ausgabe der obigen Routine ist ähnlich wie:

string(15) "My private data"
Nach dem Login kopieren

Methodenliste

Serializable::serialize – String-Darstellung des Objekts

Serializable::unserialize – Konstruieren des Objekts

Verwandte Artikel:

Beispielcode für den Unterschied zwischen Java-Serialisierung Serialisierbar und Externalisierbar

Java-Serialisierung Serialisierbar

Java-Serialisierungsobjekt serialisierbar lesen und Daten schreiben Beispiel für

Verwandte Etiketten:
php
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
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!