346 of 410 menu

Metoda __destruct

Funkcja __destruct jest magiczną metodą w PHP, która jest automatycznie wywoływana przy usuwaniu obiektu z pamięci. Dzieje się tak albo gdy skrypt kończy działanie, albo gdy obiekt jest jawnie niszczony. Metoda jest przydatna do zwalniania zasobów (na przykład zamykania deskryptorów plików lub połączeń z bazą danych).

Składnia

class MyClass { public function __destruct() { // kod destruktora } }

Przykład

Prosty przykład klasy z destruktorem, który wyświetla wiadomość przy niszczeniu obiektu:

<?php class Test { public function __destruct() { echo 'Object destroyed'; } } $obj = new Test(); unset($obj); // Wywoła destruktor ?>

Wynik wykonania kodu:

'Object destroyed'

Przykład

Przykład ze zwalnianiem zasobów (zamknięcie pliku):

<?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'); // Praca z plikiem... unset($handler); // Zamknie plik automatycznie ?>

Wynik wykonania kodu:

'File closed'

Zobacz też

esnlrufrby