- 相關推薦
PHP常用魔術方法講解
默認不存在,但是如果用戶定義了相關的方法,則在相應的情況發(fā)生時會自動執(zhí)行的方法,稱之為魔術方法。下面我們就給大家詳細介紹一下吧!
1,__constuct()構造函數(shù)
通常實例化完一個對象之后,都要對該對象的屬性進行初始化!在實例化一個對象的時候,PHP系統(tǒng)會自動的調(diào)用一個名字叫作__construct()的方法,我們把這個方法叫作“構造方法”!
其中,構造方法可以沒有參數(shù)!
stu_name = $name; $this->stu_age = $age; } }//實例化stu對象$stu = new Stu('孫悟空','500');
2.__destruct()析構方法
與構造方法是一對,構造方法是在一個對象“出生”的時候由系統(tǒng)自動調(diào)用的,而析構方法是在一個對象“消失”的時候由系統(tǒng)自動調(diào)用的!
析構方法的名字叫__destruct();注意里面不能有任何的參數(shù)!
注意:析構方法是在對象銷毀之前調(diào)用的!
作用:
析構方法的作用一般是用來釋放該對象所占用的額外的資源,而不是銷毀該對象本身!
3,__clone()克隆
觸發(fā)時機:是在克隆一個對象的時候,對新對象進行初始化的工作
//克隆方法在克隆對象的時候對新對象的初始化工作 public function __clone(){ $this->is_clone=true;}
思考:
克隆出來的對象還是不是Student類中的一個實例呢?
我們可以利用instanceof運算符來進行判斷!
instanceof就是用來判斷某個對象是否是某個類的一個實例!
需要兩個操作數(shù),前面是一個對象變量,后面是一個類名!返回一個布爾值!
var_dump($stu instanceof Stu);
//返回bool(true)
4.__autoload()自動加載類
當調(diào)用不存在的類的時候自動調(diào)用!
5.__tostring()
當將對象當成字符串使用的時候自動調(diào)用
6.__invoke()
當將對象當成函數(shù)使用的時候自動調(diào)用
7,__set()
當對無法訪問的屬性賦值時自動調(diào)用(比如:類外調(diào)用私有屬性)
8.__get()
當對獲取無法訪問的屬性值的時候自動調(diào)用
9.__unset()
當銷毀無法訪問的屬性的時候自動調(diào)用
10.__isset()
當判斷無法訪問的屬性是否存在的時候自動調(diào)用
11.__call()
當調(diào)用無法訪問的普通方法時自動觸發(fā)
echo "error"; }}$stu = new Stu();//此時Stu類里沒有show()方法,會觸發(fā)__call()函數(shù)$stu->show();
12.__callststic()
當無法通過靜態(tài)方法訪問時自動觸發(fā)
【PHP常用魔術方法講解】相關文章:
php中的常用魔術方法總結09-09
PHP中的魔術方法10-20
PHP中的魔術方法詳解08-14
php無限分類方法講解10-06
PHP中魔術方法的使用方法10-15
PHP面向對象的魔術方法詳解10-30
PHP中的16個魔術方法10-03
PHP5中的魔術方法詳解09-11
PHP中八個魔術方法詳解09-23