標籤:des os 使用 strong 檔案 資料 on ad 工作
本文列舉了php物件導向當中12個魔術方法,並對此進行一一詳細介紹,希望對新手有所協助。
1.構造方法: __construct()
參數:自訂
觸發時機:new的一瞬間自動調用
作用:初始化成員屬性
2.析構方法__destruct()
參數:無
觸發時機:在對象釋放的一瞬間自動調用
作用:做收尾工作,資料庫關閉串連等
3.__get()
參數:一個,成員屬性名稱
觸發時機:在類外部存取私人的受保護的或者未定義的成員屬性時自動調用
作用:控制私人的受保護的未定義的成員屬性的訪問
4.__set()
參數:兩個,成員屬性的名稱和值
觸發時機:在類外部設定私人的受保護的未定義的成員屬性時自動調用
作用:對私人的受保護的未定義的成員屬性進行賦值控制
5.__isset()
參數:一個參數,成員屬性名稱
觸發時機:在類外部調用isset和empty方法驗證私人的受保護的未定義的成員屬性時自動調用
作用:對私人的受保護的未定義成員屬性進行isset和empty的判斷控制
6.__unset()
參數:一個參數,成員屬性名稱
觸發時機:在類外部使用unset方法對私人的受保護的成員屬性進行銷毀的一瞬間自動調用
作用:對私人的受保護的成員屬性進行unset銷毀控制
7.__clone()
參數:無
觸發時機:在類外部使用clone關鍵字對對象進行複製時自動調用
作用:對複製體進行標示
8.__toString()
參數:無
觸發時機:在類外部echo對象的時候自動調用
作用:快速輸出對象的內容
注意:本方法必須返回一個字串類型的內容
9.__call()
參數:兩個參數,調用的不存在方法名稱,第二個參數為方法的參數(數組)
觸發時機:使用對象調用一個不存在的方法自動調用
作用:屏蔽顯示的錯誤
10.__autoload()
參數:一個參數,new的類的名稱
觸發時機:當new一個找不到的類或者繼承的父類或者在方法體中new的找不到的類的時候自動調用
作用:自動載入找不到的類檔案
注意:本方法是在類外部定義的
11.__sleep()
參數:無
觸發時機:當在類外部對對象進行序列化的一瞬間自動調用serialize()
作用:可以對序列化的成員屬性的選擇進行控制
注意:必須返回一個數組(元素:成員屬性名稱)
12.__wakeup()
參數:無
觸發時機:反序列化的一瞬間自動調用unserialize()
作用:在喚醒時對成員屬性進行控制
注意:在反序列化時必須有類在場
php中12個魔術方法