求教一些关于php析构函数__destruct()的问题!麻烦高手指点?

下面是书本上应用析构函数实现数据库资源的释放的代码。
我不明白的是,mysql_close函数已经是关闭数据库连接了,mysql_close放在__destruct()方法里到底是什么意思呢?既然已经关闭了连接,还要释放什么资源的呢?想了很久都想不出来。

<?php
class conn{
public $hostname;
public $username;
public $userpwd;
public $conn;
public function __construct($x,$y,$z){ //应用构造函数对类体中的属性进行初始化
$this->hostname=$x;
$this->username=$y;
$this->userpwd=$z;
}

public function getConn(){ //建立与数据库的连接
$this->conn=mysql_query($this->hostname,$this->username, $this->userpwd);
return $this->conn;
}

public function __destruct(){ //应用析构函数自动释放连接资源
mysql_close($this->conn);
}

?>

绝地无双
浏览 380回答 2
2回答

噜噜哒

放在析构函数中是为了在释放实例化的时候执行mysql_close这个函数

炎炎设计

析构函数是在对象销毁时调用的代码。当这个对象用完之后,会自动执行这个函数中的语句。把数据库关闭的代码放在这里。就是在对象被销毁的时候顺便把数据库连接关闭了。
打开App,查看更多内容
随时随地看视频慕课网APP