魔術方法

在 PHP 中以兩個下劃線開頭的方法,__construct(), __destruct (), __call(), __callStatic(),__get(), __set(), __isset(), __unset (), __sleep(), __wakeup(), __toString(), __set_state,() __clone() __autoload()等,被稱為"魔術方法"(Magic methods)。

集合涵義

在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)

相關詞條

相關搜尋

熱門詞條

聯絡我們