构造函数和析构函数

所谓构造函数,就是在使用这个类来构造它的对象时所使用的一个函数。

构造方法 __construct(); 注意前面是两个下划线。

构造方法的使用时机:每当new一个对象,就会自动对新new出来的对象发挥作用。

class people{
private $name;
function __construct($n){
$this->name=$n;
}
function getmsg(){
return $this->name;
}
}
$guan=new people("罐罐");
echo "可爱的小熊猫是:";
echo "
";
echo $guan->getmsg();

这个构造函数的作用就是对$this->name进行赋值,它被赋值为$n,那么当我们再次调用getmsg函数取出这个属性的时候,发现取出的值就是“罐罐”了。
执行结果:
可爱的小熊猫是:
罐罐

一个构造函数的目的通常是对这个类的一些属性进行适当的赋值,它的参数传递是$类变量名=new 类名(参数列表);中的参数列表。比如$guan=new people("罐罐");中的这个“罐罐”就是__construct()中的参数。


析构函数

前面介绍了构造函数__construct,它会在类被实例化的时候调用。
下面介绍析构函数__destruct,它在类对象被销毁的时候调用。
对象如何销毁:
1,显式的销毁,unset,赋值为null,都可以。
2,php是脚本语言,在代码执行到最后一行时,所有申请的内存都要释放掉。自然,对象的那段内存也要释放,对象也就被销毁了。

class people{
function __construct(){
echo "此时类被初始化","
";
}
function say(){
echo "罐罐","
";
}
function __destruct(){
echo "此时类被析构","
";
}
}
$guan=new people();
$guan->say();

执行结果显示:
此时类被初始化
罐罐
此时类被析构

这里明确调用的函数只有$guan->say(); 而__construct和__destruct函数也得到了运行。
__construct在类被实例化的时候调用,而__destruct在类的实例被销毁的时候时候自动调用。
在范例中,在页面运行完毕,它会自动销毁创建的对象,此时就会调用这个people类的析构函数。
原文地址:https://www.cnblogs.com/suiyuewuxin/p/5608518.html