WEB开发笔记 www.chhua.com 每日练习 PHP面向对象编程之垃圾回收——析构方法

在PHP面向对象编程中,大家对构造方法并不陌生,也就是在一个类进行实例化就执行的方法被称为构造方法。
而析构方法刚好相反,就是一个对象在销毁前自动调用的方法,就是析构方法。
在实际应用中,构造方法,也许经常的使用,可析构方法我们不太使用,但这并不表明析构方法的作用小于构造方法。
其实,在PHP4中,程序运行之后,垃圾回收的问题一直是一个问题,比如,一个对象销毁之后一些对象访问过的其它引用就成了垃圾,例如关闭文件,释放结果集等。当然PHP有自己的垃圾回收机制,当对象不能被访问时就会启动垃圾回收程序,收回对象在内存堆中占用的内存空间。而PHP5的析构方法正是在垃圾回收程序回收对象之前调用的。
析构方法的声明与构造方法的格式相似,也是以固定的方法名“__destruct()”,区别的是析构方法不能带任何的参数。
下面用一个小小的实例说明析构方法的使用:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<!--p
class website {
	private $webName;
	private $webUrl;
 
	public function __construct($webName,$webUrl){//构造方法
		$thi-->webName=$webName;
		$this-&gt;webUrl=$webUrl;
	}
 
	public function run(){
		echo "网站名称:".$this-&gt;webName."";
		echo "网站地址:".$this-&gt;webUrl;
	}
 
	public function __destruct(){
		echo "关闭站点:".$this-&gt;webName;
	}
}
 
$web=new website("WEB开发笔记","http://www.chhua.com");
$web-&gt;run();
?&gt;

以上,就是声明了一个析构方法,如果对象失去引用,就会调用析构方法并且输出一条语句。

自由转载,转载请注明: 转载自WEB开发笔记 www.chhua.com

本文链接地址: PHP面向对象编程之垃圾回收——析构方法 http://www.chhua.com/web-note1986

相关笔记

更多