7.22 Die Objektserialisierung steuern

Problem

Sie möchten steuern, wie sich ein Objekt verhält, wenn Sie es serialisieren und deserialisieren. Das ist hilfreich, wenn Sie Verbindungen zu entfernten Ressourcen wie Datenbanken, Dateien und Webservices herstellen und schließen müssen.

Lösung

Definieren Sie die magischen Methoden __sleep( ) und __wakeUp( ), wie Sie es in Listing 7.38 sehen.

<?php class LogFile { protected $dateiname; protected $handle; public function __construct($dateiname) { $this->dateiname = $dateiname; $this->open(); } private function open() { $this->handle = fopen($this->dateiname, 'a'); } public function __destruct($dateiname) { fclose($this->handle); } // Wird aufgerufen, wenn ein Objekt serialisiert wird, und sollte // ein Array ...

Get PHP 5 Kochbuch, Third Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.