**
1. __construct 具有建構函式的類會在每次建立新物件時先呼叫此方法;初始化工作執行。
2. __desstruct 物件的所有引用都被刪除或者當物件被顯式銷毀時執行。
3.__call()在物件中呼叫乙個不可訪問方法時,__call() 會被呼叫。
4.__callstatic()在靜態上下文中呼叫乙個不可訪問方法時,__callstatic() 會被呼叫。
5.__set() 在給不可訪問的屬性賦值時呼叫
6.__get() 讀取不可訪問的屬性值是自動呼叫
7.__isset() 當對不可訪問的私有屬性使用isset或empty時自動呼叫
8.__unset() 當對不可訪問的私有屬性使用unset時;自動呼叫
9.__tostring()當乙個類的例項物件;被當成乙個字串輸出時呼叫
<?phpclass a
//獲取私有屬性
public function __get($a)
/** 當對不可訪問屬性呼叫 isset() 或 empty() 時,__isset() 會被呼叫。*/
public function __isset($name)
/** 當對不可訪問屬性呼叫 unset()會被呼叫。*/
public function __unset($name)
//方法用於乙個類被當成字串時應怎樣回應
public function __tostring()
}$test = new a();
echo $test . '
'; // 輸出:james __tostring()方法用於乙個類被當成字串時應怎樣回應
//設定私有屬性值的時候,呼叫_set()方法
$test->name = "中國人";//輸出:屬性:'name' 值: '中國人' 在直接設定私有屬性值的時候,自動呼叫了這個__set()方法為私有屬性賦值
//獲取私有屬性值的時候,呼叫_get()方法
echo $test->name.'
'; //輸出:屬性:'name' 在直接獲取私有屬性值的時候,自動呼叫了這個__get()方法 中國人
var_dump(isset($test->name)); //返回 true
var_dump(empty($test->name)); //返回 false
unset($test->name); //銷毀時;自動呼叫__unset
var_dump($test->name); //報錯;未定義 undefined property: a::$name
php常用魔術方法
魔術方法和建構函式 construct和複製物件時自動呼叫的函式 clone相似,都是在執行某一操作時會被呼叫,通常和乙個關鍵字相連。通常情況下在類中會定義私有屬性,這是為了保護資料而使用的措施,但是也給我們帶來了麻煩。想要修改它們的值時,是通過呼叫我們定義的介面函式來完成的。每次需要修改變數都要呼...
php常用魔術方法
1.call 當使用乙個未定義的方法時呼叫此方法 2.autoload 使用尚未被定義的類時自動呼叫。通過此函式,指令碼引擎在 php 出錯失敗前有了最後乙個機會載入所需的類加粗樣式 3.construct 當乙個物件被建立時呼叫此方法,好處是可以使構造方法有乙個獨一無二的名稱,無論它所在的類的名稱...
PHP 常用的魔術方法
建構函式 construct 析構函式 destruct 當呼叫乙個未定義 包括沒有許可權訪問 的方法是呼叫此方法 call 處理靜態方法呼叫 callstatic 當呼叫乙個未定義的屬性時訪問此方法 get 給乙個未定義的屬性賦值時呼叫 set 當在乙個未定義的屬性上呼叫isset 函式時呼叫此方...