PHP魔術方法彙總

2021-08-01 12:37:13 字數 907 閱讀 1412

魔術方法是php物件導向中特有的特性。它們在特定的情況下被觸發,都是以雙下劃線開頭,在此做了下總結,向大家分享下

1.__construct,__destruct

__constuct構建物件的時被呼叫;

__destruct明確銷毀物件或指令碼結束時被呼叫;

2.__get,__set

__set當給不可訪問或不存在屬性賦值時被呼叫

__get讀取不可訪問或不存在屬性時被呼叫

3.__isset,__unset

__isset對不可訪問或不存在的屬性呼叫isset()或empty()時被呼叫

__unset對不可訪問或不存在的屬性進行unset時被呼叫

4.__call,__callstatic

__call呼叫不可訪問或不存在的方法時被呼叫

__callstatic呼叫不可訪問或不存在的靜態方法時被呼叫

5.__sleep,__wakeup

__sleep當使用serialize時被呼叫,當你不需要儲存大物件的所有資料時很有用

__wakeup當使用unserialize時被呼叫,可用於做些物件的初始化操作

6.__clone

進行物件clone時被呼叫,用來調整物件的轉殖行為

7.__tostring

當乙個類被轉換成字串時被呼叫

8.__invoke

當以函式方式呼叫物件時被呼叫

9.__set_state

當呼叫var_export()匯出類時,此靜態方法被呼叫。用__set_state的返回值做為var_export的返回值。

10.__debuginfo

當呼叫var_dump()列印物件時被呼叫(當你不想列印所有屬性)適用於php5.6版本

更多技術問題請搜尋千鋒php,做真實的自己,用良心做教育

PHP 魔術方法彙總

魔術方法 construct destruct call callstatic get set isset unset sleep wakeup tostring invoke set state clone 和 debuginfo 等方法在 php 中被稱為 魔術方法 magic methods ...

PHP魔術方法使用方法彙總

魔術方法是php物件導向中特有的特性。它們在特定的情況下被觸發,都是以雙下劃線開頭,你可以把它們理解為鉤子,利用模式方法可以輕鬆實現php物件導向中過載 overloading即動態建立類屬性和方法 魔術方法很多還是成對出現的,以下列出目前php中所有的模式方法。1.construct,destru...

php中的常用魔術方法彙總

1 php把所有 開頭的方法當做魔術方法,所以任何自定義的方法都不能是 開頭 php提供的過載,是指動態的建立屬性或方法。過載是通過魔術方法來實現的。這些魔術方法的引數不能飲用傳遞,get set isset unset 實現類屬性過載。2 當訪問類中不可訪問的屬性時,將呼叫 get 方法 3 當訪...