Μέθοδος __destruct
Η συνάρτηση __destruct είναι μια μαγική μέθοδος στην PHP, η οποία καλείται αυτόματα όταν ένα αντικείμενο διαγραφεί από τη μνήμη. Αυτό συμβαίνει είτε όταν το script ολοκληρώνει την εκτέλεσή του, είτε όταν το αντικείμενο καταστρέφεται ρητά. Η μέθοδος είναι χρήσιμη για την απελευθέρωση πόρων (για παράδειγμα, το κλείσιμο περιγραφέων αρχείων ή συνδέσεων με ΒΔ).
Σύνταξη
class MyClass {
public function __destruct() {
// κώδικας αποδιοργανωτή
}
}
Παράδειγμα
Ένα απλό παράδειγμα κλάσης με αποδιοργανωτή, που εμφανίζει ένα μήνυμα κατά την καταστροφή του αντικειμένου:
<?php
class Test {
public function __destruct() {
echo 'Object destroyed';
}
}
$obj = new Test();
unset($obj); // Θα καλέσει τον αποδιοργανωτή
?>
Αποτέλεσμα εκτέλεσης κώδικα:
'Object destroyed'
Παράδειγμα
Παράδειγμα με απελευθέρωση πόρων (κλείσιμο αρχείου):
<?php
class FileHandler {
private $file;
public function __construct($filename) {
$this->file = fopen($filename, 'r');
}
public function __destruct() {
if ($this->file) {
fclose($this->file);
echo 'File closed';
}
}
}
$handler = new FileHandler('example.txt');
// Εργασία με το αρχείο...
unset($handler); // Θα κλείσει το αρχείο αυτόματα
?>
Αποτέλεσμα εκτέλεσης κώδικα:
'File closed'
Δείτε επίσης
-
μέθοδος
__construct,
που είναι ο κατασκευαστής της κλάσης