亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

目錄
__get()
首頁 後端開發(fā) php教程 PHP中的魔術(shù)方法是什麼,並提供了'__call()和`__get()'的示例。

PHP中的魔術(shù)方法是什麼,並提供了'__call()和`__get()'的示例。

Sep 20, 2025 am 12:50 AM
php 魔術(shù)方法

當(dāng)對像上調(diào)用不訪問或未定義的方法時觸發(fā)__call()方法,通過接受方法名稱和參數(shù)允許自定義處理,如調(diào)用sayhello()等未定義方法時所示。 2。訪問無法訪問或不存在的屬性時調(diào)用__get()方法,啟用動態(tài)屬性檢索,例如從人類類中的內(nèi)部$數(shù)據(jù)數(shù)組訪問名稱。 3。這兩種魔術(shù)方法都通過讓對象智能響應(yīng)不確定的操作來增強靈活性,但應(yīng)謹(jǐn)慎使用以保持代碼的清晰度和討論。

PHP中的魔術(shù)方法是什麼,並提供了__call()和`__get()的示例。

PHP中的魔術(shù)方法是特殊的內(nèi)置方法,以兩個下劃線( __ )開頭,並根據(jù)特定事件或操作自動觸發(fā)。它們允許開發(fā)人員為常見的PHP操作定義自定義行為,例如調(diào)用未定義的方法,訪問屬性,對象實例化等。

PHP中的魔術(shù)方法是什麼,並提供了__call()和`__get()的示例。

兩種常用的魔術(shù)方法是__call()__get() 。


__call()

當(dāng)在對像上調(diào)用無法訪問或未定義的方法(不存在的公共方法或從外部訪問的私有/受保護的方法)時,將觸發(fā)此方法。

PHP中的魔術(shù)方法是什麼,並提供了__call()和`__get()的示例。

句法:

 public函數(shù)__call($ MethodName,$ gramonments)
  • $methodName :調(diào)用方法的名稱。
  • $arguments :一系列參數(shù)傳遞給該方法。

例子:

PHP中的魔術(shù)方法是什麼,並提供了__call()和`__get()的示例。
類用戶{
    私人功能問候($ name){
        迴聲“你好,$ name!”;
    }

    public函數(shù)__call($ method,$ args){
        echo“方法&#39;$方法&#39;不存在或無法訪問。<br>”;
        迴聲“您試圖通過:”。爆破(&#39;,&#39;,$ args);
    }
}

$ user = new user();
$ user-> etch(&#39;alice&#39;); //這不會觸發(fā)__call(),因為方法存在但是私有的
$ user-> sayhello(&#39;bob&#39;); //觸發(fā)__call()

輸出:

方法“ sayhello”不存在或無法訪問。
你試圖通過:鮑勃

注意:由於greet()是私有的,因此直接從班級外部稱呼它會導(dǎo)致致命錯誤,而不是__call() 。但是,如果該方法簡單地不確定, __call()將優(yōu)雅處理。


__get()

嘗試訪問無法訪問或不確定的屬性(即,私有/受保護的屬性或不存在的屬性)時,將調(diào)用此魔術(shù)方法。

句法:

公共功能__get($ propertyName)
  • $propertyName :訪問屬性的名稱。

例子:

班級{
    私有$ data = [
        &#39;name&#39;=>&#39;約翰&#39;,
        “年齡” => 30
    ];

    公共功能__get($屬性){
        如果(array_key_exists($屬性,$ this-> data)){
            返回$ this-> data [$ property];
        } 別的 {
            Echo“屬性&#39;$屬性&#39;不存在?!保?            返回null;
        }
    }
}

$ person = new Person();
echo $ person-> name; //輸出:約翰
echo $ person->電子郵件; //輸出:屬性“電子郵件”不存在。

在這裡, __get()允許對內(nèi)部$data數(shù)組的控制訪問,就好像它們是真實的屬性一樣。


這些魔術(shù)方法可用於實現(xiàn)靈活的API,動態(tài)屬性/方法處理或創(chuàng)建“懶惰”加載行為。但是應(yīng)仔細(xì)使用它們,以避免使代碼難以調(diào)試或理解。

基本上,當(dāng)有人嘗試使用不直接可用的東西時,它們讓您的對象聰明地響應(yīng)。

以上是PHP中的魔術(shù)方法是什麼,並提供了'__call()和`__get()'的示例。的詳細(xì)內(nèi)容。更多資訊請關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

本網(wǎng)站聲明
本文內(nèi)容由網(wǎng)友自願投稿,版權(quán)歸原作者所有。本站不承擔(dān)相應(yīng)的法律責(zé)任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請聯(lián)絡(luò)admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅(qū)動的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Stock Market GPT

Stock Market GPT

人工智慧支援投資研究,做出更明智的決策

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

漫天星漫畫完整版入口_滿天星漫畫去廣告特別版鏈接 漫天星漫畫完整版入口_滿天星漫畫去廣告特別版鏈接 Sep 28, 2025 am 10:30 AM

漫天星漫畫完整版入口為https://www.mantianxingmh.com,平臺涵蓋熱血、戀愛、懸疑、科幻等多種題材,資源豐富且更新及時,支持分類檢索;提供高清畫質(zhì)、多種翻頁模式、自定義背景與亮度調(diào)節(jié),具備護眼模式優(yōu)化閱讀體驗;用戶可創(chuàng)建書架、保存閱讀記錄、離線下載並實現(xiàn)跨設(shè)備同步進度。

如何在PHP中使用面向?qū)ο蟮木幊蹋∣OP)? 如何在PHP中使用面向?qū)ο蟮木幊蹋∣OP)? Sep 28, 2025 am 03:26 AM

oopinphporganizesCodeIntOrsableClassesandObjects.1.ClassesdefinePropertiesandMethods,IntantiatedVia $ this.2.Constructors(__構(gòu)造)initializeObjectsproperties.3.accessmodifiers(公共,私人,私人,procected)ControlVisibility.4.Inheritance(Hersheritance(Extents))允許

如何使用PHP刪除文件? 如何使用PHP刪除文件? Sep 27, 2025 am 06:08 AM

使用unlink()函數(shù)可刪除PHP中的文件,需確保文件路徑正確且服務(wù)器有寫權(quán)限,刪除前應(yīng)驗證文件存在並防止路徑被惡意操控。

如何在PHP MySQL中獲取最後一個插入的ID? 如何在PHP MySQL中獲取最後一個插入的ID? Sep 28, 2025 am 05:57 AM

使用mysqli_insert_id()(過程風(fēng)格)、$mysqli->insert_id(對像風(fēng)格)或$pdo->lastInsertId()(PDO)可獲取最後插入的ID,需在同連接中立即調(diào)用以確保準(zhǔn)確性。

如何在PHP中使用最終類和方法? 如何在PHP中使用最終類和方法? Sep 28, 2025 am 05:55 AM

finalClassEndMethodsInphpprevEntinHeritanceanDoverRidingToprotectecticalCode.2.afinalClassCannotBexended,確保behaviormainsunchanged.3.afinalmethodcannodcannodcannodcannodcannotbeoverridden,preserervingConsistentImpplementImpplementActatimpplentatimplectationAccsSssSssSsSsSsSsSsSsSsSsSsseClass.4.4.usefinalfinalfinalfinalfinalfinalfilitfinalfilit

如何在PHP中迴聲HTML標(biāo)籤 如何在PHP中迴聲HTML標(biāo)籤 Sep 29, 2025 am 02:25 AM

使用單引號或轉(zhuǎn)義雙引號在PHP中輸出HTML,推薦用單引號包裹字符串以避免屬性引號衝突,可結(jié)合變量拼接或heredoc語法生成動態(tài)內(nèi)容。

如何使用PHP中的GET請求變量? 如何使用PHP中的GET請求變量? Sep 29, 2025 am 01:30 AM

Use$_GETtoaccessURLquerystringvariablesinPHP,suchasname=Johnandage=30fromhttps://example.com/search.php?name=John&age=30;alwaysvalidateandsanitizeinputsusingfilter_input()andavoidsensitivedatainURLsduetoexposurerisks.

如何在PHP中創(chuàng)建單身班? 如何在PHP中創(chuàng)建單身班? Sep 27, 2025 am 06:18 AM

AsingletonclassinphpensonlyoneinstanceExistsbyusyaprivateConstructor,預(yù)防鏈接和持續(xù)化和促進性和促進性globalaccesspointviaastaticmethodthattatthatthatthesthesingleinstancestancestancestancestancestancestancestencestecororedinaprivatestaticproperty。

See all articles