PHP面向?qū)ο蟮哪g(shù)方法有:__construct()、__destruct()、__call()、__callStatic()、__get()、__set()、__isset()、__unset()、__sleep()等等。
滿城網(wǎng)站建設(shè)公司成都創(chuàng)新互聯(lián),滿城網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為滿城成百上千家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)網(wǎng)站制作要多少錢(qián),請(qǐng)找那個(gè)售后服務(wù)好的滿城做網(wǎng)站的公司定做!
什么是魔術(shù)方法?
魔術(shù)方法指的是以__(兩個(gè)下劃線)開(kāi)始,系統(tǒng)在特定的時(shí)機(jī)自動(dòng)調(diào)用的方法。
PHP目前有15個(gè)魔術(shù)方法:
1、__construct(),構(gòu)建對(duì)象的時(shí)被調(diào)用,常用于初始化
2、__destruct(),明確銷(xiāo)毀對(duì)象或腳本結(jié)束或銷(xiāo)毀顯示時(shí)被調(diào)用
3、__call(),在對(duì)象中調(diào)用一個(gè)不能直接訪問(wèn)的非靜態(tài)方法時(shí),__call() 會(huì)被自動(dòng)調(diào)用。
4、__callStatic(),用靜態(tài)方式中調(diào)用一個(gè)不可訪問(wèn)方法時(shí)調(diào)用
5、__get(),當(dāng)在類的外部調(diào)用不能直接訪問(wèn)的屬性時(shí),該函數(shù)方法被自動(dòng)調(diào)用,必須有返回值,所以最后結(jié)束的肯定是return語(yǔ)句
6、__set(),當(dāng)設(shè)置類中的不能直接訪問(wèn)的屬性時(shí),自動(dòng)調(diào)用該函數(shù)方法,不需要返回值
7、__isset(),判斷類中的屬性是否被設(shè)置了,當(dāng)對(duì)不可訪問(wèn)屬性調(diào)用 isset() 或 empty() 時(shí),__isset() 會(huì)被調(diào)用。返回布爾值
8、__unset(),對(duì)不可訪問(wèn)或不存在的屬性進(jìn)行unset時(shí)被調(diào)用
9、__sleep(),執(zhí)行serialize()時(shí),先會(huì)調(diào)用這個(gè)函數(shù) 方法常用于提交未提交的數(shù)據(jù)
10、__wakeup(), 經(jīng)常用在反序列化操作中,例如重新建立數(shù)據(jù)庫(kù)連接,或執(zhí)行其它初始化操作
11、__toString(),以字符串格式輸出類的對(duì)象時(shí),默認(rèn)被自動(dòng)調(diào)用,必須有一個(gè)return語(yǔ)句,且返回的值必須是字符串
12、__invoke(), 當(dāng)嘗試以調(diào)用函數(shù)的方式調(diào)用一個(gè)對(duì)象時(shí),__invoke() 方法會(huì)被自動(dòng)調(diào)用。
13、__set_state(),自 PHP 5.1.0 起當(dāng)調(diào)用 var_export() 導(dǎo)出類時(shí),此靜態(tài) 方法會(huì)被調(diào)用。
14、__clone(),當(dāng)對(duì)象復(fù)制完成時(shí)調(diào)用
15、__debugInfo(),打印所需調(diào)試信息