析构函数的最佳实践
我们使用析构函数完成对资源的及时释放
mysql_link = @mysql_connect($host, $user, $pwd);
}
//析构函数
public function __destruct(){
echo '
析构函数被调用..';
echo '
这里我们关闭我们的链接';
mysql_close($this->mysql_link);
}
}
$dao = new DAOMySQL('localhost', 'root', 'root');
var_dump($dao->mysql_link);
mysql_select_db('itbull');
$sql = 'SELECT * FROM `student`';
$res = @mysql_query($sql, $dao->mysql_link);
while($row = mysql_fetch_assoc($res)){
echo '';
var_dump($row);
}
$dao = null;
echo '
----------------------
';
$sql = 'SELECT * FROM `student`';
$res = @mysql_query($sql);
while($row = mysql_fetch_assoc($res)){
echo '';
var_dump($row);
}
//....
//....
//...
echo '
end 结束';
?>
说明
(1) 关于在析构函数中释放资源的问题,如果我们对效率没有很高很特殊的要求,完全可以不使用析构函数.
(2) 如果我们不确定代码后面是否还会使用资源(比如链接),那么我们建议最好不要使用析构函数
(3) 项目有特殊和明确的要求时,我们可以使用析构函数,显示的销毁对象是,在析构函数中,释放资源.
垃圾回收机制
类定义的完善
本文来自投稿,不代表重蔚自留地立场,如若转载,请注明出处https://www.cwhello.com/6378.html
如有侵犯您的合法权益请发邮件951076433@qq.com联系删除