站長資訊網(wǎng)
        最全最豐富的資訊網(wǎng)站

        php 魔術(shù)方法有哪些,作用是什么?

        在面向?qū)ο缶幊讨校琍HP提供了一系列的魔術(shù)方法,這些魔術(shù)方法為編程提供了很多便利。PHP中的魔術(shù)方法通常以__(兩個下劃線)開始,并且不需要顯示的調(diào)用而是由某種特定的條件出發(fā)。這篇文章簡單總結(jié)了PHP中提供的魔術(shù)方法。

        php 魔術(shù)方法有哪些,作用是什么?

        __construct()

        __construct()是類的構(gòu)造函數(shù),是目前為止最經(jīng)常使用的函數(shù)。在創(chuàng)建對象時,可以在構(gòu)造函數(shù)中做一些初始化工作。可以為構(gòu)造函數(shù)定義任意多個參數(shù),只要在實例化時傳入對應(yīng)個數(shù)的參數(shù)即可。構(gòu)造函數(shù)中出現(xiàn)的任何異常都會阻止對象的創(chuàng)建。

        __desctruct()

        __desctruct()是類的析構(gòu)函數(shù),通常在銷毀對象或腳本執(zhí)行結(jié)束時自動調(diào)用,析構(gòu)函數(shù)不接收任何參數(shù)。經(jīng)常在析構(gòu)函數(shù)中執(zhí)行一些清理工作,比如關(guān)閉數(shù)據(jù)庫連接等。

        __call()

        __call()在調(diào)用不存在或不可訪問的方法時會被調(diào)用。它接收兩個參數(shù),一個是調(diào)用的方法的名字,一個是包含函數(shù)參數(shù)的數(shù)組。我們可以使用這種方法調(diào)用子對象中得同名函數(shù)

        __callStatic()

        __callStatic()當(dāng)調(diào)用的靜態(tài)方法不存在或權(quán)限不足時會被調(diào)用。它接收兩個參數(shù),一個是調(diào)用的方法的名字,一個是包含函數(shù)參數(shù)的數(shù)組。其使用跟__call()完全一樣。

        __get()

        __get()在我們嘗試訪問一個不存在的屬性或者非公有屬性時會被調(diào)用。它接收一個參數(shù),該參數(shù)表示訪問屬性的名字,并且將該屬性的值返回

        __set()

        __set()在我們嘗試修改一個不可訪問的屬性時會被調(diào)用,它接收兩個參數(shù),一個表示屬性的名字,一個表示屬性的值。

        __isset()

        __isset()在對一個不可訪問的屬性調(diào)用isset()或empty()方法時會被調(diào)用,它接收一個參數(shù),表示屬性的名字。它應(yīng)該返回一個布爾值,用來表示該屬性是否存在。

        __unset()

        __unset()在調(diào)用 unset()函數(shù)銷毀一個不能訪問的屬性時會被調(diào)用,它接收一個參數(shù),表述屬性的名字。

        __sleep()

        __sleep()在對一個對象序列化時(調(diào)用 serialize())會被調(diào)用。它不接收任何參數(shù),而且應(yīng)該返回一個包含所有應(yīng)該被序列化的屬性的數(shù)組。在該魔術(shù)方法中,也可以執(zhí)行一些其他操作。

        有一點要注意的是,不要再該函數(shù)中進行任何的析構(gòu)操作,因為這可能會影響正在運行的對象

        __wakeup()

        __wakeup()在對存儲的對象反序列化時會被調(diào)用。它不接收任何參數(shù),也沒有任何返回值。可以用它來處理在序列化時丟失的數(shù)據(jù)庫連接或資源

        __toString()

        __toString()在我們將對象當(dāng)作字符串一樣使用時會被調(diào)用,它不接收任何參數(shù)。該方法允許我們定義對象的表現(xiàn)形式。

        __invoke()

        調(diào)用函數(shù)的方式調(diào)用一個對象時的回應(yīng)方法

        __set_state()

        調(diào)用var_export()導(dǎo)出類時,此靜態(tài)方法會被調(diào)用。

        __clone()

        __clone()可以解決上面的問題。當(dāng)對一個對象使用 clone 關(guān)鍵字時,該魔術(shù)方法會被調(diào)用。

        贊(0)
        分享到: 更多 (0)
        網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號
        主站蜘蛛池模板: 国产精品∧v在线观看| 亚洲国产精品丝袜在线观看| 国产精品美女网站在线观看| 亚洲国产精品一区第二页| 国产精品毛片无码| 国产精品日韩欧美制服| 国产精品偷伦视频观看免费| 在线精品视频一区二区| 久久精品国产一区二区电影| 国产成人综合精品一区| 久久精品国产精品青草| 国产精品无套内射迪丽热巴| 亚洲AV成人无码久久精品老人| 免费看污污的网站欧美国产精品不卡在线观看 | 亚洲国产91精品无码专区| 国产午夜福利精品久久| 国产成人精品午夜福麻豆| 久久久91精品国产一区二区三区 | 久久精品无码一区二区无码| 亚洲精品无码不卡在线播放HE| 色婷婷噜噜久久国产精品12p| 精品国产一区二区22| 国内精品久久久久久久亚洲| 国产伦精品一区二区免费| 国产精品videossex白浆| 粉嫩精品美女国产在线观看| 在线精品视频播放| 真实国产乱子伦精品免费| 中文精品一卡2卡3卡4卡| 91精品免费久久久久久久久| 天天爽夜夜爽精品视频app| 亚洲国产精品热久久| 99久久精品免费国产大片| 99久久亚洲综合精品成人| 99热成人精品国产免男男| 国产成人综合久久精品尤物| 国产精品最新国产精品第十页 | 人妻少妇精品视频二区| 奇米精品视频一区二区三区| 亚洲av无码乱码国产精品| 久久精品国产亚洲AV电影|