Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Apakah nama kaedah pemusnah php

Apakah nama kaedah pemusnah php

青灯夜游
青灯夜游asal
2023-03-02 19:11:083186semak imbas

Nama kaedah pemusnah PHP ialah "__destruct()" dan tidak boleh mempunyai sebarang parameter. Kaedah pemusnah "__destruct()" akan dipanggil secara automatik hanya sebelum objek dikumpul oleh pengumpul sampah (iaitu, sebelum objek dipadamkan daripada memori); menutup fail, melepaskan set Keputusan dsb.

Apakah nama kaedah pemusnah php

Persekitaran pengendalian tutorial ini: sistem windows7, versi PHP8, komputer DELL G3

Nama kaedah pemusnah php ialah "__destruct ()" dan tidak boleh mempunyai sebarang parameter.

PHP __destruct(): pemusnah/kaedah

Peranan pemusnah adalah betul-betul bertentangan dengan pembina dipanggil secara automatik hanya sebelum objek dikumpul oleh pemungut sampah (iaitu, sebelum objek dipadamkan daripada ingatan). Pemusnah membenarkan kami melakukan operasi tertentu sebelum memusnahkan objek, seperti menutup fail, mengeluarkan set hasil, dsb.

Terdapat mekanisme pengumpulan sampah dalam PHP Apabila objek tidak boleh diakses, mekanisme pengumpulan sampah akan mula menuntut semula ruang memori yang diduduki oleh objek tersebut. Pemusnah dipanggil sebelum objek dikitar semula oleh mekanisme pengumpulan sampah.

Format pengisytiharan pemusnah adalah serupa dengan pembina Nama pemusnah yang diisytiharkan dalam kelas juga ditetapkan Nama kaedah juga bermula dengan dua garis bawah __destruct(), dan pemusnah Tidak boleh diambil sebarang parameter. Format untuk mengisytiharkan kaedah pemusnah dalam kelas adalah seperti berikut:

public function __destruct(){
    ... ...
}

Pemusnah tidak begitu biasa digunakan dalam PHP Ia adalah bahagian pilihan kelas dan hanya digunakan dalam kelas apabila diperlukan.

【Contoh】Yang berikut menggunakan contoh untuk menunjukkan penggunaan pemusnah.

<?php
    class Website{
        public $name, $url, $title;
        public function __construct(){
            echo &#39;------这里是构造函数------<br>&#39;;
        }
        public function __destruct(){
            echo &#39;------这里是析构函数------<br>&#39;;
        }
    }
    $object = new Website();
    echo &#39;PHP中文网<br>&#39;;
    echo &#39;https://www.php.cn/<br>&#39;;
    echo &#39;脚本运行结束之前会调用对象的析构函数<br>&#39;;
?>

Keputusan yang dijalankan adalah seperti berikut:

Apakah nama kaedah pemusnah php

Pemusnah akan digunakan apabila semua rujukan kepada objek dipadamkan atau apabila objek secara eksplisit dimusnahkan Laksanakan

sebelum objek dimusnahkan, bukan?

Menurut manual rasmi, pemusnah akan dilaksanakan apabila semua rujukan kepada objek dipadamkan atau apabila objek dimusnahkan secara eksplisit. Demonstrasi kod adalah seperti berikut

class sf{    public function destruct()
    {        echo METHOD . PHP_EOL;
    }
}
 
 
$c1 = new sf;
$c2 = $c1;echo &#39;unset $c2&#39; . PHP_EOL;unset($c2);echo &#39;unset $c1&#39; . PHP_EOL;unset($c1);// ----$c1 = new sf;
$c2 = $c1;echo &#39;null $c2&#39; . PHP_EOL;
$c2 = null;echo &#39;null $c1&#39; . PHP_EOL;
$c1 = null;// ----$c1 = new sf;
$c2 = $c1;echo &#39;123 $c2&#39; . PHP_EOL;
$c2 = 123;echo &#39;456 $c1&#39; . PHP_EOL;
$c1 = 456;echo &#39;the end&#39; . PHP_EOL;

Hasil yang dijalankan adalah seperti berikut

Apakah nama kaedah pemusnah php

Pemusnah akan digunakan apabila semua rujukan kepada objek dipadamkan atau apabila objek dipaparkan Dilaksanakan apabila formula dimusnahkan.

Secara umumnya, php akan memusnahkan rujukan apabila skrip tamat (bukan unset) dan berjalan sebelum skrip tamat.

Pembelajaran yang disyorkan: "Tutorial Video PHP"

Atas ialah kandungan terperinci Apakah nama kaedah pemusnah php. 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