Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Apakah maksud php destructor?

Apakah maksud php destructor?

藏色散人
藏色散人asal
2021-10-28 10:37:402725semak imbas

pemusnah php merujuk kepada pemusnah "__destruct()"; musnah.

Apakah maksud php destructor?

Persekitaran pengendalian artikel ini: sistem Windows 7, PHP versi 7.1, komputer DELL G3

Destructor

__destruct(): void

PHP 5 memperkenalkan konsep pemusnah, yang serupa dengan bahasa berorientasikan objek lain, seperti C. Pemusnah dilaksanakan apabila semua rujukan kepada objek dialih keluar atau apabila objek dimusnahkan secara eksplisit.

Contoh pemusnah

<?php
class MyDestructableClass 
{
    function __construct() {
        print "In constructor\n";
    }
    function __destruct() {
        print "Destroying " . __CLASS__ . "\n";
    }
}
$obj = new MyDestructableClass();

Seperti pembina, pemusnah kelas induk tidak akan dipanggil secara rahsia oleh enjin. Untuk melaksanakan pemusnah kelas induk, parent::__destruct() mesti dipanggil secara eksplisit dalam badan pemusnah kelas anak. Di samping itu, sama seperti pembina, subkelas akan mewarisi kelas induk jika ia tidak mentakrifkan pemusnah.

Pemusnah dipanggil walaupun skrip ditamatkan menggunakan exit(). Memanggil exit() dalam pemusnah akan membatalkan operasi penutupan yang selebihnya.

Nota:

Pemusnah dipanggil apabila skrip ditutup, selepas semua pengepala HTTP telah dihantar. Ada kemungkinan bahawa direktori kerja apabila skrip ditutup adalah berbeza daripada apabila ia berada dalam SAPI (seperti apache).

Nota:

Percubaan untuk membuang pengecualian dalam pemusnah (yang dipanggil apabila skrip ditamatkan) akan mengakibatkan ralat yang membawa maut. [Pembelajaran yang disyorkan: "Tutorial Video PHP"]

Untuk maklumat terperinci tentang pemusnah dan pembina, anda boleh menyemak tapak web rasmi: https://www.php.net /manual /zh/language.oop5.decon.php

Atas ialah kandungan terperinci Apakah maksud php destructor?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn