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->webUrl=$webUrl; } public function run(){ echo "网站名称:".$this->webName.""; echo "网站地址:".$this->webUrl; } public function __destruct(){ echo "关闭站点:".$this->webName; } } $web=new website("WEB开发笔记","http://www.chhua.com"); $web->run(); ?> |
以上,就是声明了一个析构方法,如果对象失去引用,就会调用析构方法并且输出一条语句。
自由转载,转载请注明: 转载自WEB开发笔记 www.chhua.com
本文链接地址: PHP面向对象编程之垃圾回收——析构方法 http://www.chhua.com/web-note1986
评论