PHP物件導向 魔術方法

2022-09-05 21:21:26 字數 882 閱讀 5764

__get($name)--觸發時機:當呼叫乙個不訪問的成員屬性的時候,會自動觸發,可以利用這個方法來完成對不可呼叫的屬性進行呼叫,但是不能設定值

___set($$name,$value)--觸發時機:當給乙個不可訪問的成員屬性賦值的時候,會自動觸發這個方法,可以利用這個方法完成對不可以訪問的屬性進行賦值

__isset($name)---觸發時機:當使用isset()函式來判斷乙個物件的屬性的時候,如果這個屬性不存在或者不能被訪問的時候會觸發這個魔術方法

__call($$method,$args)---觸發時機:當呼叫乙個不存在的成員方法或者是不可訪問的成員訪問的時候會被觸發

__callstatic($$method,$args)--觸發時機:當呼叫乙個不存在的成員方法或者是不可訪問的成員訪問的時候會被觸發

__unset()---觸發時機:當要銷毀乙個不可訪問的或者不存在的成員屬性的時候會被呼叫

__sleep()---觸發時機:當使用serialize把物件進行序列化的時候會被觸發

public function __sleep()

__wakeup()

觸發時機:當使用unserialize的反序列化的時候會被自動觸發

public function __wakeup()

__tostring()

觸發時機:在echo乙個物件的時候會被觸發

public function __tostring()

__clone()

物件複製可以通過 clone 關鍵字來完成(如果可能,這將呼叫物件的 __clone() 方法)

php 物件導向之 魔術方法

php 魔術方法 php 模式方法 描述 需要在類中定義魔術方法 construct destruct tostring 當物件被當作string使用時,這個方法會被自動呼叫。如 public function tostring echo myobj invoke 當物件被當成方法是,這個方法會自動...

物件導向魔術方法

特別的方法 在特定的時機,完成自動呼叫的一些物件方法 construct 例項化過程中 初始化物件操作 destruct 物件被銷毀的過程中,釋放物件棧占用的額外資源 收尾性工作 clone 轉殖物件,重新初始化一下轉殖出來的新物件 tostring 物件轉換為字串 set get unset ca...

PHP之物件導向的魔術方法

php中以兩個下劃線 開頭的方法被稱為魔術方法。如 construct destruct clone 1 set 和 get 方法對私有成員進行賦值或者獲取值的操作。不需要主動呼叫 2 isset 和 unset 當在類的外部使用isset 函式檢測物件中的私有成員屬性時,就會自動呼叫類中的 iss...