PHP魔術方法
PHP中把以兩個下劃線__開頭的方法稱為魔術方法(Magic methods),這些方法在PHP中充當了舉足輕重的作用。這裡進行詳細介紹,感興趣的小夥伴們可以參考一下。
(好想插入一首音樂)
特徵:
1. __兩個下劃線開始
2. 不需要顯示的呼叫,由某些條件下觸發(類似資料庫中的隱式觸發器)

接下來我們開始正文嘍
咳咳,排排坐好,知識點來了!!!
1. __construct( ) 建構函式
php中構造方法是物件建立完成後第一個被物件自動呼叫的方法。在每個類中都有一個構造方法,如果沒有顯示地宣告它,那麼類中都會預設存在一個沒有引數且內容為空的構造方法。
通常構造方法被用來執行一些有用的初始化任務,如對成員屬性在建立物件時賦予初始值。
例子:

$Person3 = new Person("李四","男",25); echo $Person3->say(); //輸出:我叫:李四,性別:男,年齡:25
2. __destruct( ) 解構函式
通過上面的講解,現在我們已經知道了什麼叫構造方法。那麼與構造方法對應的就是析構方法。析構方法允許在銷燬一個類之前執行的一些操作或完成一些功能,比如說關閉檔案、釋放結果集等。
析造方法的宣告格式與構造方法 __construct() 比較類似,也是以兩個下劃線開始的方法 __destruct() ,這種析構方法名稱也是固定的。一般來說,析構方法在PHP中並不是很常用,它屬類中可選擇的一部分,通常用來完成一些在物件銷燬前的清理任務。
例子:

我覺得我還可以再搶救一下,我的名字叫小明
3. __get( ) 獲得一個類的成員變數時呼叫
在 php 面向物件程式設計中,類的成員屬性被設定為 private 後,如果我們試圖在外面呼叫它則會出現“不能訪問某個私有屬性”的錯誤。那麼為了解決這個問題,我們可以使用魔術方法 __get()。
在程式執行過程中,在類外部獲取 訪問類中私有 受保護的屬性的時候才會被呼叫
例子:

姓名:小明
年齡:50
4. __set( ) 設定一個類的成員變數時呼叫
__set( $property, $value )` 方法用來設定私有屬性, 給一個未定義的屬性賦值時,此方法會被觸發,傳遞的引數是被設定的屬性名和值。
例子:

我叫小紅,今年16歲了
5. __isset( ) 當對不可訪問屬性呼叫isset( )
在看這個方法之前我們看一下isset()函式的應用,isset()是測定變數是否設定用的函式,傳入一個變數作為引數,如果傳入的變數存在則傳回true,否則傳回false。
在類外 用isset方法來判斷類中私有/受保護的屬性存在時候
例子:

1 // public 可以 isset() 當在類外部使用isset()函式測定私有成員name時,自動呼叫 // __isset() 內 第一個echo 1 // __isset() 第二個echo 在類外部使用isset()函式測定私有成員age時,自動呼叫 // __isset() 內 第一個echo 1 // __isset() 內第二個echo
6. __unset( ) 當對不可訪問屬性呼叫unset( )時被呼叫
看這個方法之前呢,我們也先來看一下 unset() 函式,unset()這個函式的作用是刪除指定的變數且傳回true,引數為要刪除的變數。在類外對類中的私有/受保護的屬性銷燬的時候 會自動執行__unset 魔術方法
例子:

當在類外部使用unset()函式來刪除私有成員時自動呼叫的

你們有沒有學會呀!
大家點點關注和喜歡好不好;

我不管,我要關注