集合涵義
在PHP中以兩個下劃線開頭的方法,__construct(), __destruct (), __call(), __callStatic(),__get(), __set(), __isset(), __unset (), __sleep(), __wakeup(), __toString(), __set_state,() __clone() __autoload()等,被稱為"魔術方法"(Magic methods)。如果希望PHP調用這些魔術方法,首先必須在類中定義,否則PHP不會執行未創建的魔術方法。
注意:PHP 將所有以 __(兩個下劃線)開頭的類方法保留為魔術方法。所以在定義類方法時,除了上述魔術方法,建議不要以 __ 為前綴。
包含成員
__set()
簡介:
當程式試圖寫入一個不存在或者不可見的成員變數時,PHP就會執行__set()方法。__set()方法包含兩個參數,分別表示變數名稱和變數值,兩個參數都不可省略。
實例1:
例1輸出結果為:
變數type賦值為:DIY
變數type的值為:DIY
__get()
簡介:
當程式試圖調用一個未定義或不可見的成員變數時,可以通過__get()方法來讀取變數值。__get()方法有一個參數,表示要調用的變數名。
實例2:
例2輸出結果為:
變數name未定義,初始化為0
變數name被初始化為:0
__construct(),__destruct()
簡介:
- 在每次創建新對象時先調用此方法
-對象的所有引用都被刪除或者當對象被顯式銷毀時執行
實例3:
例3輸出結果為:
resource(2) of type (mysql link)
resource(2) of type (Unknown)