《「原創(chuàng)」PHP類中常用的幾個魔法函數(shù)總結(jié)》要點:
本文介紹了「原創(chuàng)」PHP類中常用的幾個魔法函數(shù)總結(jié),希望對您有用。如果有疑問,可以聯(lián)系我們。
歡迎參與《「原創(chuàng)」PHP類中常用的幾個魔法函數(shù)總結(jié)》討論,分享您的想法,維易PHP學院為您提供專業(yè)教程。
php知識碎片化學習
在我們實際PHP開發(fā)中,會常常用到類
而類呢,里面有幾個常用的魔法函數(shù),本日我們就來實際代碼應用一下
加深年夜家對它的理解!
下面先說第一個吧
內(nèi)置構(gòu)造函數(shù),在對象被創(chuàng)立時自動調(diào)用
下面我們用代碼看看,如何用的!
class One {
public function __construct() {
echo '我在睡覺<br>';
}
public function wakeUp() {
echo '我醒了<br>';
}
}
$demo = new One();
$testObject->wakeUp();
以下代碼我們看到成果
我在睡覺
我醒了
析構(gòu)辦法的作用和構(gòu)造辦法__construct剛好相反,它只是在對象被垃圾收集器收集之前自動調(diào)用,我們可以利用該辦法做一些必要的清理工作
代碼如下:
class One {
public function __construct() {
echo '我在睡覺<br>';
}
public function wakeUp() {
echo '我醒了<br>';
}
function __destruct() {
echo "我消失了<br>";
}
}
$demo = new One();
unset($demo);
顯示成果
我在睡覺
我消失了
在PHP 5之后的版本中,對象之間的賦值為引用賦值,即賦值后的兩個對象將指向同一地址空間,如果想基于對象賦值,可以使用PHP提供的clone辦法.該辦法將當前對象淺拷貝之后的副本返回,如果想在clone的過程中完成一些特殊的操作,如深拷貝,則需要在當前類的聲明中實現(xiàn)__clone辦法,該辦法在執(zhí)行clone的過程中會被隱式調(diào)用.另外需要格外注意的是,__clone辦法是作用在被拷貝的對象上,即賦值后的對象上執(zhí)行.
代碼如下:
class One {
public $id=180;
public function height() {
echo '我的身高有'.$this->id.'厘米<br>';
}
}
class Two {
public $one;
public function __construct() {
$this->one = new One();
}
public function __clone() {
$this->one = clone $this->one;
echo '我復制了你的身高<br>';
}
}
$two=new Two();
echo '復制前<br>';
$twocopy=clone $two;
echo '復制后<br>';
$two->one->id=200;
echo '本尊:';
$two->one->height();
echo '分身:';
$twocopy->one->height();
顯示成果如下
復制前
我復制了你的身高
復制后
本尊:我的身高有200厘米
分身:我的身高有180厘米
以上只是個人在學習PHP中,個人的一些知識點理解,談不上什么深度,做一些日常記錄!希望與年夜家分享!
轉(zhuǎn)載請注明本頁網(wǎng)址:
http://www.snjht.com/jiaocheng/14168.html