php 常用类 函数,「原创」PHP类中常用的几个魔法函数总结

2e152a8d85aa9d758105099152930405.png

php知识碎片化学习

2e662e444538dd0026849c71a0a8ffc6.png

在我们实际PHP开发中,会经常用到类

而类呢,里面有几个常用的魔法函数,今天我们就来实际代码应用一下

加深大家对它的理解!

下面先说第一个吧

__construct

内置构造函数,在对象被创建时自动调用

下面我们用代码看看,如何用的!class One {

public function __construct() {

echo '我在睡觉
';

}

public function wakeUp() {

echo '我醒了
';

}

}

$demo = new One();

$testObject->wakeUp();

以下代码我们看到结果我在睡觉

我醒了

__destruct

析构方法的作用和构造方法__construct刚好相反,它只是在对象被垃圾收集器收集之前自动调用,我们可以利用该方法做一些必要的清理工作

代码如下:class One {

public function __construct() {

echo '我在睡觉
';

}

public function wakeUp() {

echo '我醒了
';

}

function __destruct() {

echo "我消失了
";

}

}

$demo = new One();

unset($demo);

显示结果我在睡觉

我消失了

__clone

在PHP 5之后的版本中,对象之间的赋值为引用赋值,即赋值后的两个对象将指向同一地址空间,如果想基于对象赋值,可以使用PHP提供的clone方法。该方法将当前对象浅拷贝之后的副本返回,如果想在clone的过程中完成一些特殊的操作,如深拷贝,则需要在当前类的声明中实现__clone方法,该方法在执行clone的过程中会被隐式调用。另外需要格外注意的是,__clone方法是作用在被拷贝的对象上,即赋值后的对象上执行。

代码如下:class One {

public $id=180;

public function height() {

echo '我的身高有'.$this->id.'厘米
';

}

}

class Two {

public $one;

public function __construct() {

$this->one = new One();

}

public function __clone() {

$this->one = clone $this->one;

echo '我复制了你的身高
';

}

}

$two=new Two();

echo '复制前
';

$twocopy=clone $two;

echo '复制后
';

$two->one->id=200;

echo '本尊:';

$two->one->height();

echo '分身:';

$twocopy->one->height();

显示结果如下复制前

我复制了你的身高

复制后

本尊:我的身高有200厘米

分身:我的身高有180厘米

以上只是个人在学习PHP中,个人的一些知识点理解,谈不上什么深度,做一些日常记录!希望与大家分享!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值