《「原创」PHP类中常用的几个魔法函数总结》要点:
本文介绍了「原创」PHP类中常用的几个魔法函数总结,希望对您有用。如果有疑问,可以联系我们。
欢迎参与《「原创」PHP类中常用的几个魔法函数总结》讨论,分享您的想法,维易PHP学院为您提供专业教程。
在我们实际PHP开发中,会常常用到类
而类呢,里面有几个常用的魔法函数,本日我们就来实际代码应用一下
加深年夜家对它的理解!
下面先说第一个吧
内置构造函数,在对象被创立时自动调用
下面我们用代码看看,如何用的!
class One {
public function __construct() {
echo '我在睡觉<br>';
}
public function wakeUp() {
echo '我醒了<br>';
}
}
$demo = new One();
$testObject->wakeUp();
以下代码我们看到成果
我在睡觉
我醒了
析构办法的作用和构造办法__construct刚好相反,它只是在对象被垃圾收集器收集之前自动调用,我们可以利用该办法做一些必要的清理工作
代码如下:
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的过程中完成一些特殊的操作,如深拷贝,则需要在当前类的声明中实现__clone办法,该办法在执行clone的过程中会被隐式调用.另外需要格外注意的是,__clone办法是作用在被拷贝的对象上,即赋值后的对象上执行.
代码如下:
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中,个人的一些知识点理解,谈不上什么深度,做一些日常记录!希望与年夜家分享!