首頁 後端開發 php教程 php中魔術方法的說明

php中魔術方法的說明

Jun 28, 2018 pm 03:40 PM

* 魔術方法:

 * 1.類別中以雙底線開頭的方法,這是由系統內建的,使用者方法不要用雙底線開頭;

 * 2.魔術方法由系統在一定條件下自動觸發呼叫,使用者不能直接呼叫;

 * 注意:將類別中的私有成員前面新增單一底線是個好習慣;

 * 例如: private $_salary;    private function _listUsers(){...}

 * 使用魔術方法實作幾個物件存取攔截器

 * 所謂攔截器:就是對使用者的一些錯誤或非法存取進行檢測和控制。

 * 之前我們學過__get($fieldName)和__set()這是二個最常用的攔截器

 * 現在我們再學習一組: __isset($fieldName)和__unset($fieldName)

 * 1. __isset():當在類別外偵測一個類別屬性是否存在時會自動呼叫

 * 2. __unset():當在類別外銷毀一個類別屬性時會自動呼叫  

class Demo 
{
    private $name = 'peter';
    private $email = 'peter@php.cn';
    
    //当在类外使用isset()检测某个属性是否存在时自动调用
    public function __isset($name)
    {
        //对访问进行过滤:如果属性名是'name',返回false,否则允许访问
        //即除了'name'属性外的其它属性允许外部进行isset()检测
        return ($name=='name') ? false : true;
    }
}
//实例化 Demo 类
$obj = new Demo;
//检测$obj中是否有name属性,返回 
echo isset($obj->name)?'存在':'不存在';
echo &#39;<hr>&#39;;
登入後複製

檢測$obj中是否存在email屬性,回傳存在,因為類別中__isset()傳回true

echo isset($obj->email)?&#39;存在&#39;:&#39;不存在&#39;;
登入後複製

在外部使用unset()來銷毀類別屬性

以上是php中魔術方法的說明的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

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

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

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

PHP方法的命名規範與最佳實踐 PHP方法的命名規範與最佳實踐 Feb 29, 2024 pm 01:51 PM

PHP方法的命名規範與最佳實踐作為一種流行的伺服器端腳本語言,PHP被廣泛用於開發網站和Web應用程式。在PHP開發中,方法(函數)是非常重要的一部分,良好的命名規範和最佳實踐能夠提高程式碼的可讀性、可維護性和可擴展性。本文將分享一些關於PHP方法命名的規格和最佳實踐,同時提供具體的程式碼範例。方法命名規範1.使用有意義且描述性的名稱方法的名稱應準確地描述方

什麼是PHP魔術方法(__ -construct,__destruct,__call,__get,__ set等)並提供用例? 什麼是PHP魔術方法(__ -construct,__destruct,__call,__get,__ set等)並提供用例? Apr 03, 2025 am 12:03 AM

PHP的魔法方法有哪些? PHP的魔法方法包括:1.\_\_construct,用於初始化對象;2.\_\_destruct,用於清理資源;3.\_\_call,處理不存在的方法調用;4.\_\_get,實現動態屬性訪問;5.\_\_set,實現動態屬性設置。這些方法在特定情況下自動調用,提升代碼的靈活性和效率。

解釋PHP中的__ Invoke Magic方法。 解釋PHP中的__ Invoke Magic方法。 Apr 12, 2025 am 12:07 AM

\_\_invoke方法允許對象像函數一樣被調用。 1.定義\_\_invoke方法使對象可被調用。 2.使用$obj(...)語法時,PHP會執行\_\_invoke方法。 3.適用於日誌記錄和計算器等場景,提高代碼靈活性和可讀性。

深入理解PHP方法體的概念 深入理解PHP方法體的概念 Mar 29, 2024 am 08:00 AM

在PHP程式設計中,方法體是指封裝在類別中的函數,用於實作特定功能的程式碼區塊。透過方法體,我們可以將功能程式碼獨立出來,提高程式碼的可維護性和復用性。在本文中,我們將深入探討PHP方法體的概念,並結合具體的程式碼範例進行說明。 1.類別與方法的基本概念首先,讓我們先來了解類別與方法的基本概念。類別(Class)是物件導向程式設計的基本概念,表示具有相似特徵和行為的物件的模板或藍圖。

PHP方法參數傳遞及回傳值詳解 PHP方法參數傳遞及回傳值詳解 Feb 29, 2024 pm 06:18 PM

PHP方法參數傳遞及回傳值詳解在PHP中,方法參數傳遞與傳回值是非常重要的概念,它們在程式開發中扮演至關重要的角色。本文將詳細討論PHP中方法參數傳遞和返回值的具體用法,並附上相應的程式碼範例,以幫助讀者更好地理解。方法參數傳遞在PHP中,方法可以接受參數並處理。方法參數傳遞主要有以下幾種方式:傳值呼叫(預設):在PHP中,預設情況下,方法是透過傳值調

PHP方法定義及使用指南 PHP方法定義及使用指南 Feb 29, 2024 pm 05:51 PM

PHP方法定義及使用指南PHP是一種功能強大的伺服器端腳本語言,廣泛應用於Web開發。在PHP中,方法(也稱為函數)是一種用來封裝可重複使用的程式碼區塊的機制。本文將為您介紹PHP方法的定義和使用方法,並附有具體的程式碼範例供參考。方法的定義在PHP中,方法的定義遵循以下語法格式:function方法名(參數1,參數2,...){//方法體}

PHP方法體的定義與用法 PHP方法體的定義與用法 Mar 28, 2024 pm 03:03 PM

PHP是一種廣泛應用於Web開發的伺服器端腳本語言,PHP方法體的定義與用法在PHP程式設計中是非常重要的部分。方法體指的是函數的具體實作程式碼部分,透過定義方法體可以實現對相同功能的程式碼進行封裝和重複使用,提高程式碼的可維護性和可讀性。在PHP中,方法體的定義遵循一定的語法規則,以下將介紹PHP方法體的定義和使用,並附有具體的程式碼範例。 PHP方法體的定義在PHP中,定

PHP程式中的魔術方法最佳實踐 PHP程式中的魔術方法最佳實踐 Jun 07, 2023 am 08:01 AM

魔術方法是PHP程式中重要的特性之一,它們被稱為魔術方法,是因為它們提供了一種在類別中自動執行某些操作的方式,而無需明確地呼叫它們。在PHP中,有多種魔術方法,包括__construct、__destruct、__get、__set、__call、__toString、__sleep、__wakeup、__isset和__unset等等。這些方法不僅有助於提

See all articles