PHP中的魔術方法

2021-10-03 16:13:50 字數 1220 閱讀 1141

__construct --建構函式;

具有建構函式的類會在每次建立新物件時先呼叫此方法。

__destruct		--析構函式;

析構函式會在到某個物件的所有引用都被刪除或者當物件被顯式銷毀時執行。

__call

在物件中呼叫乙個不可以訪問的方法時。則呼叫;

__callstatic

在靜態上下文中呼叫乙個不可訪問的方法時。則呼叫;

__set

在給不可訪問屬性進行賦值時,則呼叫;

__get

讀取不可訪問屬性的值時,則呼叫;

__isset

當對不可訪問屬性呼叫 isset() 或 empty() 時,則呼叫;

__unset

當對不可訪問屬性呼叫 unset() 時,則呼叫;

__sleep()

serialize() 函式會檢查類中是否存在乙個魔術方法 __sleep()。如果存在,則呼叫;

__wakeup()

unserialize() 會檢查是否存在乙個 __wakeup() 方法。如果存在,則呼叫;

__tostring()

__tostring() 方法用於乙個類被當成字串時應怎樣回應。echo $obj;

如:$obj = new testclass; echo $obj;

__invoke()

當嘗試以呼叫函式的方式呼叫乙個物件時,則呼叫;

__set_state()

自 php 5.1.0 起當呼叫 var_export() 匯出類時,此靜態 方法會被呼叫。

__clone()

當複製完成時,如果定義了 __clone() 方法,則新建立的物件(複製生成的物件)中的 __clone() 方法會被呼叫,可用於修改屬性的值(如果有必要的話)。__construct()不會呼叫。

__debuginfo()

var_dump() 乙個物件,則呼叫。需要返回乙個陣列。

PHP中的魔術方法

php 將所有以 兩個下劃線 開頭的類方法保留為魔術方法。因此,在定義類方法時,除了下述魔術方法外,建議不要以 為字首。construct 構造方法或建構函式 具有建構函式的類會在每次建立新物件時,先呼叫此方法。因此,非常適合在使用物件之前做一些初始化操作。注意 如果子類中定義了建構函式則不會隱式呼...

PHP 中的魔術方法

1.construct 此為構造方法,是物件建立完成後第乙個被物件自動呼叫的方法,通常使用該方法完成一些物件的初始化工作。class person function say function run person1 new person 張三 男 20 person2 new person 李四 女...

PHP中的魔術方法

概述 在物件導向程式設計中,php提供了一系列的魔術方法,這些魔術方法為程式設計提供了很多便利。php中的魔術方法通常以 兩個下劃線 開始,並且不需要顯示的呼叫而是由某種特定的條件出發。這篇文章簡單總結了php中提供的魔術方法。開始之前 在總結php的魔術方法之前先來定義兩個類,以便後邊示例使用 複...