wakeup()
Aus php bar
Mit __wakeup() wurde das Gegenstück zu __sleep() implementiert. Besitzt eine Klasse diese Methode, so wird ihr Code dann ausgeführt, wenn ein kodierter String in ein Objekt deren Klasse mittels unserialize() umgewandelt (deserialisiert) werden soll.
Die vorgesehene Verwendung von __wakeup() ist beispielsweise die Wiederherstellung von Datenbankverbindungen, welche während der Serialisierung verloren gegangen sein könnten, sowie andere Neuinitialisierungen.
1 class SerializeTest { 2 public $var = 'Variable'; 3 public $var1 = 'Variable 1'; 4 private $resource = 'Resource id #1'; 5 6 function __sleep() { 7 return array('resource'); 8 } 9 function __wakeup() { 10 echo 'Erstelle Datenbankverbindung für ' . $this->resource; 11 } 12 } 13 14 $Serialize = new SerializeTest(); 15 $serialisiert = serialize($Serialize); //__sleep() 16 $deserialisiert = unserialize($serialisiert); //__wakeup() 17
Ausgabe: Erstelle Datenbankverbindung für Resource id #1
Siehe auch: __sleep()
Kategorien: OOP | PHP 5

