Μέθοδος __destruct

Η συνάρτηση __destruct είναι μια μαγική μέθοδος στην PHP, η οποία καλείται αυτόματα όταν ένα αντικείμενο διαγραφεί από τη μνήμη. Αυτό συμβαίνει είτε όταν το script ολοκληρώνει την εκτέλεσή του, είτε όταν το αντικείμενο καταστρέφεται ρητά. Η μέθοδος είναι χρήσιμη για την απελευθέρωση πόρων (για παράδειγμα, το κλείσιμο περιγραφέων αρχείων ή συνδέσεων με ΒΔ).

Σύνταξη

phpclass MyClass {
  public function __destruct() {
    // κώδικας αποδιοργανωτή
  }
}

Παράδειγμα

Ένα απλό παράδειγμα κλάσης με αποδιοργανωτή, που εμφανίζει ένα μήνυμα κατά την καταστροφή του αντικειμένου:

php<?php
class Test {
  public function __destruct() {
    echo 'Object destroyed';
  }
}

$obj = new Test();
unset($obj); // Θα καλέσει τον αποδιοργανωτή
?>

Αποτέλεσμα εκτέλεσης κώδικα:

php'Object destroyed'

Παράδειγμα

Παράδειγμα με απελευθέρωση πόρων (κλείσιμο αρχείου):

php<?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); // Θα κλείσει το αρχείο αυτόματα
?>

Αποτέλεσμα εκτέλεσης κώδικα:

php'File closed'

Δείτε επίσης

  • μέθοδος __construct,
    που είναι ο κατασκευαστής της κλάσης