Junior — Middle
Σε ποια περίπτωση πρέπει να υλοποιήσετε έναν καταστροφέα για μια κλάση σε PHP;
sobes.tech AI
Απάντηση από AI
Ο καταστροφέας σε PHP (__destruct()) υλοποιείται στην κλάση όταν χρειάζεται να εκτελεστούν συγκεκριμένες ενέργειες κατά την καταστροφή του αντικειμένου, για παράδειγμα:
- Απελευθέρωση πόρων (αρχεία, συνδέσεις βάσης δεδομένων, sockets).
- Κλείσιμο ανοιχτών συνδέσεων.
- Εκτέλεση καταγραφής ή καθαρισμού.
Παράδειγμα:
class FileHandler {
private $handle;
public function __construct($filename) {
$this->handle = fopen($filename, 'r');
}
public function __destruct() {
if ($this->handle) {
fclose($this->handle);
}
}
}
Εδώ, ο καταστροφέας διασφαλίζει ότι το αρχείο θα κλείσει κατά την καταστροφή του αντικειμένου.