
关于php析构函数__destruct()的问题。
下面是书本上应用析构函数实现数据库资源的释放的代码。我不明白的是,mysql_close函数已经是关闭数据库连接了,mysql_close放在__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);
}
}
?> 展开
我不明白的是,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);
}
}
?> 展开
2个回答
展开全部
析构函数是在对象销毁时调用的代码。
当这个对象用完之后,会自动执行这个函数中的语句。
把数据库关闭的代码放在这里。就是在对象被销毁的时候顺便把数据库连接关闭了。
当这个对象用完之后,会自动执行这个函数中的语句。
把数据库关闭的代码放在这里。就是在对象被销毁的时候顺便把数据库连接关闭了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询