真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

php中有哪些魔幻方法

今天就跟大家聊聊有關(guān)php中有哪些魔幻方法,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

我們一直強(qiáng)調(diào)成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)對(duì)于企業(yè)的重要性,如果您也覺(jué)得重要,那么就需要我們慎重對(duì)待,選擇一個(gè)安全靠譜的網(wǎng)站建設(shè)公司,企業(yè)網(wǎng)站我們建議是要么不做,要么就做好,讓網(wǎng)站能真正成為企業(yè)發(fā)展過(guò)程中的有力推手。專業(yè)網(wǎng)站建設(shè)公司不一定是大公司,成都創(chuàng)新互聯(lián)作為專業(yè)的網(wǎng)絡(luò)公司選擇我們就是放心。

魔幻方法有:“__construct()”、“__destruct()”、“__set()”、“__get()”、“__isset()”、“__unset()”、“__sleep()”、“___wakeup()”、“__call()”等等。

php魔幻(術(shù))方法

在面向?qū)ο缶幊讨?,PHP 提供了一系列的魔術(shù)方法,這些魔術(shù)方法為編程提供了很多便利,在 PHP 中的作用是非常重要的。PHP 中的魔術(shù)方法通常以__(兩個(gè)下劃線)開(kāi)始,并且不需要顯式的調(diào)用而是在某種特定條件下自動(dòng)調(diào)用的。

魔術(shù)方法作用
__construct()實(shí)例化類時(shí)自動(dòng)調(diào)用
__destruct()類對(duì)象使用結(jié)束時(shí)自動(dòng)調(diào)用
__set()在給未定義的屬性賦值時(shí)自動(dòng)調(diào)用
__get()調(diào)用未定義的屬性時(shí)自動(dòng)調(diào)用
__isset()使用 isset() 或 empty() 函數(shù)時(shí)自動(dòng)調(diào)用
__unset()使用 unset() 時(shí)自動(dòng)調(diào)用
__sleep()使用 serialize 序列化時(shí)自動(dòng)調(diào)用
__wakeup()使用 unserialize 反序列化時(shí)自動(dòng)調(diào)用
__call()調(diào)用一個(gè)不存在的方法時(shí)自動(dòng)調(diào)用
__callStatic()調(diào)用一個(gè)不存在的靜態(tài)方法時(shí)自動(dòng)調(diào)用
__toString()把對(duì)象轉(zhuǎn)換成字符串時(shí)自動(dòng)調(diào)用
__invoke()當(dāng)嘗試把對(duì)象當(dāng)方法調(diào)用時(shí)自動(dòng)調(diào)用
__set_state()當(dāng)使用 var_export() 函數(shù)時(shí)自動(dòng)調(diào)用,接受一個(gè)數(shù)組參數(shù)
__clone()當(dāng)使用 clone 復(fù)制一個(gè)對(duì)象時(shí)自動(dòng)調(diào)用
__debugInfo()使用 var_dump() 打印對(duì)象信息時(shí)自動(dòng)調(diào)用

下面簡(jiǎn)單介紹幾個(gè)常用的魔術(shù)方法:

1、__set() 方法

在為當(dāng)前環(huán)境下未定義或不可見(jiàn)的類屬性賦值時(shí),會(huì)自動(dòng)調(diào)用 __set() 方法。定義該方法的語(yǔ)法格式如下:

public function __set($key, $value){
    ... ... ;
}

其中,參數(shù) $key 是要操作的變量名稱,$value 為變量 $key 的值。

2、__get() 方法

在調(diào)用或獲取當(dāng)前環(huán)境下未定義或不可見(jiàn)的類屬性時(shí),會(huì)自動(dòng)調(diào)用 __get() 方法,定義該方法的語(yǔ)法格式如下:

public function __get($name){
    ... ... ;
}

參數(shù) $name 為要操作的變量名稱。

3、__isset() 方法

當(dāng)在類外部對(duì)類中不可訪問(wèn)或不存在的屬性使用 isset() 或 empty() 函數(shù)時(shí),會(huì)自動(dòng)調(diào)用 __isset() 方法,該方法的語(yǔ)法格式如下:

public function __isset($name){
    ... ... ;
}

參數(shù) $name 為要訪問(wèn)的屬性名稱。

isset() 函數(shù)可以檢查一個(gè)變量是否存在并且不為 NULL,傳入一個(gè)變量作為參數(shù),如果傳入的變量存在則傳回 true,否則傳回 false。

empty() 函數(shù)可以檢查一個(gè)變量是否為空,同樣需要傳入一個(gè)變量作為參數(shù),如果變量并不存在,或者變量的值等于 FALSE,那么這個(gè)變量會(huì)被認(rèn)為不存在。

類中的公有成員可以在類外訪問(wèn),而私有成員則無(wú)法在類外訪問(wèn)。也就是說(shuō),我們可以使用 isset() 或 empty() 函數(shù)來(lái)檢查類中的公有屬性是否存在,而對(duì)類中的私有屬性這兩個(gè)函數(shù)就無(wú)效了。

如果想要使用 isset() 或 empty() 函數(shù)對(duì)類中的私有屬性進(jìn)行檢測(cè)的話,我們只需要在類中添加一個(gè) __isset() 方法就可以了,當(dāng)在類外部使用 isset() 或 empty() 函數(shù)時(shí),會(huì)自動(dòng)調(diào)用類里面的 __isset() 方法。

4、__unset() 方法

當(dāng)在類外部對(duì)類中不可訪問(wèn)或不存在的屬性使用 unset() 函數(shù)時(shí),__unset() 方法會(huì)被自動(dòng)調(diào)用,該方法的語(yǔ)法格式如下:

public function __unset($name){
    ... ... ;
}

參數(shù) $name 為要訪問(wèn)的屬性名稱。

我們先來(lái)看一下 unset() 函數(shù),unset() 函數(shù)的作用是刪除指定的變量,需要傳入一個(gè)或多個(gè)變量作為參數(shù),另外,該函數(shù)沒(méi)有返回值。

同樣,我們也可以使用 unset() 函數(shù)在類外部去刪除類中的成員屬性。與上面介紹的 __isset() 方法相似,如果要?jiǎng)h除類中的公有屬性的話直接使用 unset() 函數(shù)即可;如果要?jiǎng)h除類中的私有屬性的話,則需要在類中添加一個(gè) __unset() 方法。

5、__call() 方法

當(dāng)調(diào)用類中一個(gè)不可訪問(wèn)或不存在的方法時(shí),__call() 方法會(huì)被調(diào)用。該方法的語(yǔ)法格式如下:

public function __call($name, $arguments){
    ... ... ;
}

其中,$name 為要調(diào)用的方法名稱,$arguments 為傳遞給 $name 的參數(shù)所組成的數(shù)組。

當(dāng)調(diào)用的方法不存在時(shí)會(huì)自動(dòng)調(diào)用 __call() 方法,程序會(huì)繼續(xù)執(zhí)行下去,從而可以避免當(dāng)調(diào)用方法不存在時(shí)產(chǎn)生錯(cuò)誤所導(dǎo)致的程序終止。

6、__clone() 方法

可以使用 clone 關(guān)鍵字復(fù)制對(duì)象,當(dāng)復(fù)制完成時(shí),如果定義了 __clone() 方法,則新創(chuàng)建的對(duì)象(復(fù)制生成的對(duì)象)中的 __clone() 方法會(huì)被自動(dòng)調(diào)用,通過(guò)該方法我們可以做一些必要的操作。__clone() 方法的語(yǔ)法格式如下:

public function __clone(){
    ... ... ;
}

看完上述內(nèi)容,你們對(duì)php中有哪些魔幻方法有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。


網(wǎng)頁(yè)標(biāo)題:php中有哪些魔幻方法
當(dāng)前URL:http://weahome.cn/article/picpcd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部