Mbinu __destruct

Kitendo __destruct ni mbinu ya kichawi katika PHP, ambayo huitwa kiotomatiki wakati kitu kinapofutwa kwenye kumbukumbu. Hii hutokea ama wakati hati inapokwisha, au wakati kitu kinapoharibiwa waziwazi. Mbinu hii ni muhimu kwa kutoa rasilimali (kwa mfano, kufunga vihisishi vya faili au miunganisho na DB).

Sintaksia

phpclass MyClass {
  public function __destruct() {
    // msimbo wa mharibifu
  }
}

Mfano

Mfano rahisi wa darasa lenye mharibifu, ambao huonyesha ujumbe wakati kitu kinapoharibiwa:

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

$obj = new Test();
unset($obj); // Itaita mharibifu
?>

Matokeo ya utekelezaji wa msimbo:

php'Kimeharibiwa'

Mfano

Mfano wa kutoa rasilimali (kufunga faili):

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 'Faili imefungwa';
    }
  }
}

$handler = new FileHandler('example.txt');
// Kazi na faili...
unset($handler); // Itafunga faili kiotomatiki
?>

Matokeo ya utekelezaji wa msimbo:

php'Faili imefungwa'

Tazamia pia