国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

構造函數與析構函數執行順序,記一次小bug修復。

xiao7cn / 2945人閱讀

摘要:執行構造函數執行析構函數第一次完畢第二次完畢執行輸出執行構造函數第一次完畢執行構造函數執行析構函數第二次完畢執行析構函數終于逮到你了。。。這就導致了先執行構造函數,然后再執行析構函數。

class Test {
    protected $client;
    protected static $name;

    public function __construct() {
        self::$name = "test";
    }

    public function __destruct() {
        self::$name = null;
    }

    public function get() {
        return self::$name;
    }
}
$a = new Test();
$a = (new Test());
echo $a->get();

執行完以上代碼時輸出:

此時你會發現,輸出的是空,而沒有輸出test。修改代碼,查看下整個流程。

class Test {
    protected $client;
    protected static $name;

    public function __construct() {
        self::$name = "test";
        echo "執行構造函數!
";
    }

    public function __destruct() {
        self::$name = null;
        echo "執行析構函數!
";
    }

    public function get() {
        return self::$name;
    }
}
$a = new Test();
echo "第一次new完畢!
";
$a = (new Test());
echo "第二次new完畢!
";
echo $a->get();

執行輸出:

執行構造函數!
第一次new完畢!
執行構造函數!
執行析構函數!
第二次new完畢!
執行析構函數!

終于逮到你了。。。當新創建類賦值于同一個變量時,到底是先創建,還是先銷毀呢?是先創建新對象,然后再銷毀舊對象。這就導致了先執行構造函數,然后再執行析構函數。在這一過程中切記不要操作對象內的靜態屬性,否則會導致靜態屬性丟失。

第一發布地

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/22592.html

相關文章

  • 記一次小程序之旅

    摘要:用戶綁定的邏輯主要復雜在既需要考慮微信本身的接口在不同情況下提供的數據不同,另外一方面就是考慮本身用戶模塊的業務邏輯問題。針對每一節課以及每一節系列課程生成小程序太陽碼主要涉及到幾個細節問題。 感覺已經好久沒寫程序了,最近這段時間,一方面是學習了python,然后折騰了scrapy框架,用python寫了下守護進程程序監聽任務以及用redis做隊列任務通信,并開進程來處理爬蟲任務。以上...

    不知名網友 評論0 收藏0
  • 【In PHP】析構、作用域與引用

    摘要:在編寫一段析構方法的研究代碼中,我遇到了交叉知識點導致的錯誤在不同作用域,析構方法與引用次數導致了不一樣的結果。前提本文假裝你已經明白什么是析構方法作用域及引用次數。當析構函數的調用鉤子去檢測引用數時,全局的實例自然無法觸發這個事件。 在編寫一段析構方法的研究代碼中,我遇到了交叉知識點導致的錯誤——在不同作用域,析構方法與引用次數導致了不一樣的結果。 前提 本文假裝你已經明白什么是析構...

    fai1017 評論0 收藏0
  • 記一次小程序項目的開發心得

    摘要:前言這段時間一直負責公司的小程序的開發,總結了一些小程序的開發心得,方便自己以后的查閱也方便同仁少踩點坑。文章底部的技巧類小程序的識別小程序二維碼功能,小程序的高斯模糊,都是自己填的坑。 前言:這段時間一直負責公司的小程序的開發,總結了一些小程序的開發心得,方便自己以后的查閱也方便同仁少踩點坑。文章底部的技巧類小程序的識別小程序二維碼功能,小程序的高斯模糊,都是自己填的坑。歡迎交流。 ...

    you_De 評論0 收藏0
  • 【C++】vector

    摘要:比起和統一的迭代器和引用更好。因此迭代器失效,實際就是迭代器底層對應指針所指向的空間被銷毀了,而使用一塊已經被釋放的空間,造成的后果是程序崩潰即如果繼續使用已經失效的迭代器,程序可能會崩潰。 ...

    LiveVideoStack 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<