国产网曝门99视频在线看_免费看片a级毛片免费看_4hu四虎永久在线观看_高清无套内精线观看456_国产欧美亚洲日韩久久福利_av在线无码观看另类重口_欧美精品一二三区较多收藏_欧美老熟妇伦视频_婷婷六月综合激情_最新国产成人野战在线观看


PHP8中的魔術(shù)方法-PHP8知識(shí)詳解

導(dǎo)讀:在PHP 8中,魔術(shù)方法是一種特殊的方法,它們以兩個(gè)下劃線(__)開(kāi)頭。魔術(shù)方法允許您定義類(lèi)的行為,例如創(chuàng)建對(duì)象、調(diào)用其他方法或訪問(wèn)和修改類(lèi)的屬性。

PHP 8中,魔術(shù)方法是一種特殊的方法,它們以兩個(gè)下劃線(__)開(kāi)頭。魔術(shù)方法允許您定義類(lèi)的行為,例如創(chuàng)建對(duì)象、調(diào)用其他方法或訪問(wèn)和修改類(lèi)的屬性。以下是一些常見(jiàn)的魔術(shù)方法:

__construct(): 類(lèi)的構(gòu)造函數(shù)。當(dāng)一個(gè)對(duì)象被創(chuàng)建時(shí)自動(dòng)調(diào)用。

__destruct(): 類(lèi)的析構(gòu)函數(shù)。當(dāng)一個(gè)對(duì)象被銷(xiāo)毀時(shí)自動(dòng)調(diào)用。

__get($name): 在讀取一個(gè)不可訪問(wèn)屬性的值時(shí)自動(dòng)調(diào)用。

__set($name, $value): 在給一個(gè)不可訪問(wèn)屬性賦值時(shí)自動(dòng)調(diào)用。

__isset($name): 在對(duì)不可訪問(wèn)屬性調(diào)用 isset() 或 empty() 函數(shù)時(shí)自動(dòng)調(diào)用。

__unset($name): 在對(duì)不可訪問(wèn)屬性調(diào)用 unset() 函數(shù)時(shí)自動(dòng)調(diào)用。

__call($name, $arguments): 在調(diào)用一個(gè)不存在或不可訪問(wèn)的方法時(shí)自動(dòng)調(diào)用。

__callstatic($name, $arguments): 在調(diào)用一個(gè)不存在或不可訪問(wèn)的靜態(tài)方法時(shí)自動(dòng)調(diào)用。

__toString(): 在將對(duì)象作為字符串輸出時(shí)自動(dòng)調(diào)用。

__invoke($arguments): 當(dāng)嘗試將對(duì)象作為函數(shù)調(diào)用時(shí)自動(dòng)調(diào)用。

__clone(): 當(dāng)對(duì)象被克隆時(shí)自動(dòng)調(diào)用。

__debugInfo(): 在使用 var_dump() 函數(shù)輸出對(duì)象信息時(shí)自動(dòng)調(diào)用。

__serialize(): 在對(duì)象被序列化時(shí)自動(dòng)調(diào)用。

__unserialize($data): 在對(duì)象被反序列化時(shí)自動(dòng)調(diào)用。

__sleep(): 在對(duì)象被序列化時(shí)自動(dòng)調(diào)用,返回要序列化的屬性列表。

__wakeup(): 在對(duì)象被反序列化時(shí)自動(dòng)調(diào)用。


因?yàn)?a href="http://003188.cn/tag/php8/" data-type="mip" data-title="php8" target="_blank" title="php8">php8有眾多的魔術(shù)方法,本文也不會(huì)一一詳細(xì)說(shuō)明了,本文以__set()和__get()方法來(lái)詳細(xì)講解。

由于封裝性,所以可以使用__get 和__set 方法來(lái)達(dá)到此目的。無(wú)論何時(shí),類(lèi)屬性被訪問(wèn)和操作時(shí),訪問(wèn)方法都會(huì)被激發(fā)。通過(guò)使用它們,可以避免直接對(duì)類(lèi)屬性進(jìn)行訪問(wèn)。

(1)當(dāng)程序試圖寫(xiě)入一個(gè)沒(méi)有定義或不可見(jiàn)的成員變量時(shí),PHP就會(huì)執(zhí)行__set()方法。該方法包含兩個(gè)參數(shù),分別表示變量名稱和變量值。

(2) 當(dāng)程序調(diào)用一個(gè)沒(méi)有定義或不可見(jiàn)的成員變量時(shí),PHP就會(huì)執(zhí)行__get()方法來(lái)讀取變量值。該方法包含一個(gè)參數(shù),表示要調(diào)用變量的名稱。

使用__set()和__get()方法,參考代碼

<?php
    class Fruit{
        function __set($names,$value){
            $this->$names = $value;
        }

        function __get($names){
            return $this->$names;
        }
    };
    $a = new Fruit ();
    $a->name = "梨子";
    $a->price = "3.88元";
    echo $a->name."的價(jià)格為:".$a->price."<br />";
    $b = new Fruit();
    $b->name = "火龍果";
    $b->num="666公斤";
    $b->price= "4.88元";
    echo $b->name."的庫(kù)存為:".$b->num.",價(jià)格為: ".$b->price."<br />";
?>

以上代碼在PHP8中的運(yùn)行結(jié)果如下:

梨子的價(jià)格為:3.88元
火龍果的庫(kù)存為:666公斤,價(jià)格為: 4.88元

上面代碼中,變量name、price、num都是沒(méi)有定義成員變量,所以此時(shí)會(huì)調(diào)用__set()和__get()方法。



本文地址:http://003188.cn/php8zhongdemoshufangfa.html
碼字不易,打個(gè)賞唄
楊澤業(yè)感謝你的支持!

猜你喜歡

PHP8中的魔術(shù)方法-PHP8知識(shí)詳解

導(dǎo)讀:在PHP 8中,魔術(shù)方法是一種特殊的方法,它們以兩個(gè)下劃線(__)開(kāi)頭。魔術(shù)方法允許您定義類(lèi)的行為,例如創(chuàng)建對(duì)象、調(diào)用其他方法或訪問(wèn)和修改類(lèi)的屬性。

2023-10-06  分類(lèi):PHP學(xué)堂  瀏覽:782次


PHP8的類(lèi)與對(duì)象的基本操作之成員變量-PHP8知識(shí)詳解

導(dǎo)讀:成員變量是指在類(lèi)中定義的變量。在類(lèi)中可以聲明多個(gè)變量,所以對(duì)象中可以存在多個(gè)成員變量,每個(gè)變量將存儲(chǔ)不同的對(duì)象屬性信息。

2023-09-21  分類(lèi):PHP學(xué)堂  瀏覽:818次


PHP8中字符串與數(shù)組的轉(zhuǎn)換-PHP8知識(shí)詳解

導(dǎo)讀:在PHP8中使用explode()函數(shù)和implode()函數(shù)實(shí)現(xiàn)字符串和數(shù)組之間的轉(zhuǎn)換。1、使用explode()函數(shù)把字符串按照一定的規(guī)則拆分為數(shù)組中的元素,并且形成數(shù)組。

2023-09-16  分類(lèi):PHP學(xué)堂  瀏覽:774次


PHP8的字符串操作3-PHP8知識(shí)詳解

今天繼續(xù)分享字符串的操作,前面說(shuō)到了字符串的去除空格和特殊字符,獲取字符串的長(zhǎng)度,截取字符串、檢索字符串。 今天繼續(xù)分享字符串的其他操作。如:替換字符串、分割和合成字符串、統(tǒng)計(jì)字符串中單詞的個(gè)數(shù)。

2023-08-17  分類(lèi):PHP學(xué)堂  瀏覽:1026次


PHP8的字符串操作2-PHP8知識(shí)詳解

導(dǎo)讀:PHP對(duì)字符串的截取可以使用內(nèi)置函數(shù)substr()和mb_substr()實(shí)現(xiàn)。檢索字符串就是在一個(gè)字符串中查找另一個(gè)字符串,就像我們?cè)谖谋揪庉嬈骼锩娌檎谊P(guān)鍵字一樣??梢允褂胹trstr()函數(shù)、stristr()函數(shù)、strpos()函數(shù)。

2023-08-15  分類(lèi):PHP學(xué)堂  瀏覽:771次


PHP8的字符串操作1-PHP8知識(shí)詳解

字符串是php中最重要的數(shù)據(jù)之一,字符串的操作在PHP編程占有重要的地位。在使用PHP語(yǔ)言開(kāi)發(fā)web項(xiàng)目的過(guò)程中,為了實(shí)現(xiàn)某些功能,經(jīng)常需要對(duì)某些字符串進(jìn)行特殊的處理,比如字符

2023-08-13  分類(lèi):PHP學(xué)堂  瀏覽:1011次


PHP8定義字符串的方法-PHP8知識(shí)詳解

導(dǎo)讀:本文的主要內(nèi)容有:使用單引號(hào)或雙引號(hào)定義字符串、使用定界符定義字符串和字符串的連接符。

2023-08-11  分類(lèi):PHP學(xué)堂  瀏覽:782次


站長(zhǎng)在線Python精講:在Python中使用正則表達(dá)式的split()方法分割字符串詳解

導(dǎo)讀:歡迎你來(lái)到站長(zhǎng)在線的站長(zhǎng)學(xué)堂學(xué)習(xí)Python知識(shí),本文學(xué)習(xí)的是《在Python中使用正則表達(dá)式的split()方法分割字符串詳解》。

2021-12-11  分類(lèi):Python學(xué)堂  瀏覽:1716次


站長(zhǎng)在線Python精講:在Python中使用正則表達(dá)式的sub()方法替換字符串詳解

歡迎你來(lái)到站長(zhǎng)在線的站長(zhǎng)學(xué)堂學(xué)習(xí)Python知識(shí),本文學(xué)習(xí)的是《在Python中使用正則表達(dá)式的sub()方法替換字符串詳解》。 在Python中使用正則表達(dá)式的sub()方法替換字符串。其語(yǔ)法格式如下: re.sub(pattern, repl, string, count=0, flags=0)

2021-12-10  分類(lèi):Python學(xué)堂  瀏覽:1702次


站長(zhǎng)在線Python精講:在Python中匹配字符串的3個(gè)方法詳解

導(dǎo)讀:歡迎你來(lái)到站長(zhǎng)在線的站長(zhǎng)學(xué)堂學(xué)習(xí)Python知識(shí),本文學(xué)習(xí)的是《在Python中匹配字符串的3個(gè)方法詳解》。本知識(shí)點(diǎn)主要內(nèi)容有:使用match()方法進(jìn)行匹配、使用search()方法進(jìn)行匹配、使用findall()方法進(jìn)行匹配。

2021-12-09  分類(lèi):Python學(xué)堂  瀏覽:1472次