1. 程式人生 > >魔術方法

魔術方法

href 靜態 sse bsp 檢測 str lin 類的屬性 常見

特點:

——(兩個下劃線)開頭的類方法,會自動被調用。

常見的魔術方法有15個:

技術分享

__set(變量名稱變量值)(不需要有返回值):在給不可訪問屬性賦值時,__set() 會被調用。

標準形式不能改:

技術分享

需要設置值和值的類的屬性名稱,

魔術方法必須是公共的(Public),且不能定義為靜態的(static)被訪問的屬性名稱,必須是字符串。當在類的外部調用不能直接訪問不能直接訪問的屬性時,該函數會自動被調用。

property_exists(字符串形式的類名或要檢查的對象,屬性名字)— 檢查對象或類是否具有該屬性果該屬性存在則返回 TRUE ,如果不存在則返回 FALSE

,出錯返回 NULL

__get(要調用的變量名):

標準形式不能改:

技術分享

讀取不可訪問屬性的值時,__get() 會被調用

__get() 必須有返回值,最後肯定是以return結束。

unset()銷毀指定的變量。

Isset(): 檢測變量是否設置

技術分享

當不可訪問屬性調用isset()或empty()時isset()會被調用,傳入的類是屬性名稱。

如果屬性存在則返回屬性值,反之返回null。

__Call:在對象中調用一個不可訪問方法時,__call會自動調用。

標準格式:

技術分享

__callStatic:用靜態方式中調用一個不可訪問方法時

標準格式:

技術分享

魔術方法