PHP創(chuàng)建對象的方式有哪些?針對這個問題,這篇文章詳細(xì)介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
創(chuàng)新互聯(lián)長期為超過千家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為南州晴隆企業(yè)提供專業(yè)的做網(wǎng)站、成都網(wǎng)站制作,南州晴隆網(wǎng)站改版等技術(shù)服務(wù)。擁有10余年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。
創(chuàng)建對象實例:
name; } public static function getObjBySelf(){ return new self(); } //動態(tài)延遲綁定,能識別調(diào)用者 public static function getObjcByStatic(){ return new static(); } } //Person子類 Teacher class Teacher extends Person{ public static function getObjByParent(){ return new parent(); } } //1、new 類名();創(chuàng)建對象 $obj1 = new Person();//等價于寫法 $obj1 = new Person; echo '類名:'.get_class($obj1).'
'; echo $obj1->getName().'
'; //2、將類名字符串賦值給一個變量,通過變量創(chuàng)建 $clsName = 'Person'; $obj2 = new $clsName(); echo '類名:'.get_class($obj2).'
'; echo $obj2->getName().'
'; //3、通過對象實例創(chuàng)建對象 $obj3 = new $obj2(); echo '類名:'.get_class($obj3).'
'; echo $obj3->getName().'
'; //4、通過 new self() //$obj4 = (new $obj3())->getObjBySelf(); $obj4 = Person::getObjBySelf(); echo '類名:'.get_class($obj4).'
'; echo $obj4->getName().'
'; //5、通過 new parent() $obj5= Teacher::getObjByParent(); echo '類名:'.get_class($obj5).'
'; echo $obj5->getName().'
'; //6、通過 new static(); $obj6 = Person::getObjcByStatic(); echo '類名:'.get_class($obj6).'
';//類名:Person echo $obj6->getName().'
'; //bruce //當(dāng)用子類去調(diào)用時候,發(fā)現(xiàn)static自動識別當(dāng)前調(diào)用者(靜態(tài)延遲綁定),返回當(dāng)前調(diào)用者對象 $obj7 = Teacher::getObjcByStatic(); echo '類名:'.get_class($obj7).'
';//類名:Teacher echo $obj7->getName().'
';//bruce $obj8 = Person::getObjBySelf(); echo '類名:'.get_class($obj8).'
';//類名:Person echo $obj8->getName().'
'; //new self()在子類中調(diào)用依舊返回原來父類的綁定 $obj9 = Teacher::getObjBySelf(); echo '類名:'.get_class($obj9).'
';//類名:Person echo $obj9->getName().'
';
運行結(jié)果:
關(guān)于PHP創(chuàng)建對象的方式有哪些問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識。