Hallihallo!
Nur mal als Beispiel für einen Destruktor, den ich benutze:
Ich habe mir eine Logging- Klasse gebaut, die (stark vereinfacht) ungefähr so aussieht:
class log {
protected $messages; // hier kommen die Meldungen rein
public function __construct() {
$this->messages = array[];
$this->messages[] = 'bin dann mal gestartet';
}
public function debug($message) {
// nur ein Beispiel. Wie gesagt, das hier ist stark vereinfacht.
// ausserdem geht es hier um den Destruktor... :-)
$this->messages[] = 'DEBUG :'.$message;
}
public function __destruct() {
// hier wird erst die Logdatei geschrieben.
// dadurch habe ich nicht die ganze Zeit das olle Handle offen.
// Das Tolle ist, dass ich mich nicht mehr darum kümmern
// muss, die Datei "manuell" zu schreiben
$logfile = fopen('/var/www/files/log.log',"w+");
$content = implode(PHP_EOL,$this->messages);
fwrite($logfile, $content);
fclose($logfile);
}
}
Beste Grüsse,
Tobias Hahner