PHP 所有魔術方法

2021-09-28 17:22:53 字數 1018 閱讀 5651

<?php

__construct() //構造方法,每次建立物件時都會呼叫。

__destruct() //析構方法,該方法會在到某個物件的所有引用都被刪除或者當物件被顯式銷毀時執行。

//關於訪問不存在的屬性或物件

__get() // 讀取不存在的屬性的值時,該方法會被呼叫。

__set() // 在給不存在的屬性賦值時,該方法會被呼叫。

__isset() //當對不存在的屬性呼叫 isset() 或 empty() 時,該方法會被呼叫。

__unset() //當對不存在的屬性呼叫 unset() 時,該方法會被呼叫。

__call() //在物件中呼叫乙個不存在的方法時,該方法會被呼叫。

__callstatic() //在物件中呼叫乙個不存在的靜態方法時,該方法會被呼叫。

//序列化和反序列化

__sleep() // 當對物件使用 serialize()時,該方法會先被呼叫,然後才執行序列化操作。

__wakeup() // 當對物件使用 unserialize()時,該方法會先被呼叫,然後才反執行序列化操作。

//與字串有關

__tostring() // 當物件被當做字串輸出時會呼叫該方法,此方法必須返回乙個字串,否則將發出一條 e_recoverable_error 級別的致命錯誤。

__set_state() // 當呼叫 var_export() 匯出乙個物件時,此靜態方法會被呼叫。

__invoke() // 當嘗試以呼叫函式的方式呼叫乙個物件時,該方法會被自動呼叫。

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

__debuginfo() // 該方法在var_dump() 物件的時候被呼叫,方法返回值一定是乙個陣列。如果沒有定義該方法,則var_dump會列印出所有公共、受保護和私有屬性。

php魔術常量,魔術方法

魔術常量 1。line 返回檔案中的當前行號。2。file 返回檔案的完整路徑和檔名。如果用在包含檔案中,則返回包含檔名。自php4.0.2 起,file 總是包含乙個絕對路徑,而在此之前的版本有時會包含乙個相對路徑。3。function 返回函式名稱 php4.3.0 新加 自php5 起本常量返...

invoke 魔術 PHP 魔術方法

php 魔術方法 構造方法 construct 析構方法 destruct get 與 set unset call 和 callstatic sleep 和 wakeup clone tostring invoke set state debuginfo construct 這個方法應該是最常用的...

php魔術方法

php5魔術方法 魔術函式 1。construct 建構函式 例項化物件時被呼叫,當 construct和以類名為函式名的建構函式同時存在時,construct將被呼叫,另乙個不被呼叫。2。destruct 析構函式 當刪除乙個物件或物件操作終止時被呼叫 程式結束後物件就摧毀 永遠都是最後執行的。3...