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