日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

PHP类实例教程(七):析构函数与PHP的垃圾回收

發布時間:2024/9/20 php 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 PHP类实例教程(七):析构函数与PHP的垃圾回收 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

析構函數:當某個對象成為垃圾或者當對象被顯式銷毀時執行。

GC (Garbage Collector)

在PHP中,沒有任何變量指向這個對象時,這個對象就成為垃圾。PHP會將其在內存中銷毀。這是PHP的GC (Garbage Collector)垃圾處理機制,防止內存溢出。當一個PHP線程結束時,當前占用的所有內存空間都會被銷毀,當前程序中的所有對象同樣被銷毀。

__destruct() 析構函數,是在垃圾對象被回收時執行。

析構函數也可以被顯式調用,但不要這樣去做。

析構函數是由系統自動調用的,不要在程序中調用一個對象的析構函數。

析構函數不能帶有參數。

程序結束前,所有對象被銷毀。析構函數被調用了。

[php]?view plain?copy
  • ?<?php????
  • class?Person{????
  • ???public?function?__destruct()?{????
  • ??????echo?"<br?/>析構函數在這里執行";????
  • ??????echo?"<br?/>這里一般用來放置,關閉數據庫,關閉文件等等收尾工作。";????
  • ???}????
  • }????
  • $p?=?new?Person();????
  • for?($i?=?0;?$i?<?5;?$i++)?{????
  • ???echo?"<br?/>?$i";????
  • }??
  • //我們在這里看到,在PHP程序結束前,對象被銷毀了。????
  • ?>???
  • 當對象沒有指向時,對象被銷毀。

    [php]?view plain?copy
  • <?php????
  • class?Person?{????
  • ???public?function?__destruct()?{????
  • ??????echo?"<br?/>析構函數在這里執行";????
  • ??????echo?"<br?/>這里一般用來放置,關閉數據庫,關閉文件等等收尾工作。";????
  • ???}????
  • }????
  • $p?=?new?Person();????
  • $p?=?null;????
  • //我們在這里看到,析構函數在這里被執行了。????
  • for?($i?=?0;?$i?<?5;?$i++)?{????
  • ???echo?"<br?/>?$i";????
  • }????
  • ?>???
  • 我們將$p設置為空或者第11行賦予$p一個字符串,這樣$p之前指向的對象就成為了垃圾對象。PHP將這個對象垃圾銷毀。

    unset變量

    [php]?view plain?copy
  • <?php????
  • class?Person?{????
  • ???public?function?__destruct()?{????
  • ??????echo?"<br?/>析構函數在這里執行<br?/>";????
  • ???}????
  • }????
  • $p?=?new?Person();????
  • $p1?=?$p;?//設定新引用變量$p1也指向這個對象????
  • unset($p);????
  • echo?"是否看到/$p被銷毀,對象也被銷毀呢?";????
  • for?($i?=?0;?$i?<?5;?$i++)?{??
  • ???echo?"<br?/>?$i";????
  • }????
  • unset($p1);????
  • echo?"我們看到這里,析構函數被執行了";????
  • ?>???
  • unset一個引用變量時,unset 銷毀的是指向對象的變量,而不是這個對象。


    來源:http://blog.csdn.net/klinghr/article/details/5208730

    總結

    以上是生活随笔為你收集整理的PHP类实例教程(七):析构函数与PHP的垃圾回收的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。