PHP的构造函数和析构函数

1.构造函数:

void __construct ([ mixed$args [, $... ]] )

PHP 5 允行开发者在一个类中定义一个方法作为构造函数。具有构造函数的类会在每次创建新对象时先调用此方法,所以非常适合在使用对象之前做一些初始化工作。

Note: 如果子类中定义了构造函数则不会隐式调用其父类的构造函数。要执行父类的构造函数,需要在子类的构造函数中调用 parent::__construct()。如果子类没有定义构造函数则会如同一个普通的类方法一样从父类继承(假如没有被定义为 private 的话)。

构造函数特点:

①类的构造方法函数,它是一个魔法方法

②自动的被调用

③它可以不用声明,相当于默认隐含一个没有任何执行语句的构造函数

④它会自动返回一个当前类的对象

⑤一个类中有且只有一个构造函数

⑥构造函数可以带参数,这些参数通常是用来给类的属性进行初始化赋值

⑦构造函数可以被其他方法显示调用

2.析构函数:

void __destruct ( void )

PHP 5 引入了析构函数的概念,这类似于其它面向对象的语言,如 C++。析构函数会在到某个对象的所有引用都被删除或者当对象被显式销毁时执行。

Note:

析构函数在脚本关闭时调用,此时所有的 HTTP 头信息已经发出。脚本关闭时的工作目录有可能和在 SAPI(如 apache)中时不同。

Note:

试图在析构函数(在脚本终止时被调用)中抛出一个异常会导致致命错误。

析构函数特点:

①析构函数,它也是被自动调用的

②它不可以带参数,也没有返回值

③析构函数也可被显示调用,但是不要这样去做