chu*_*tsu 2 php constructor destructor
我一直在努力学习PHP的面向对象方面,并且想知道:
如果我使用_constructor打开与数据库的连接,使用该类中的函数(例如插入),定义的__destructor会在执行"insert"方法后关闭连接吗?
class data(){
function __constructor {
// connect to db
}
function insert($data){
// mysql_query(...)
}
function __destructor {
// close connection to db
}
}
$obj = new db();
$obj->insert('mumbo jumbo');
Run Code Online (Sandbox Code Playgroud)
或者与数据库的连接是否仍然打开?因为我读到析构函数只在对象被销毁时运行.但是你怎么摧毁一个物体?
在PHP中,当一个对象超出范围时会被销毁.这通常是在脚本停止执行或者在结束时创建它的函数时,但您可以使用以下命令在代码的早期销毁对象:
unset($my_variable);
Run Code Online (Sandbox Code Playgroud)
因此,要回答您的问题,您应该可以在大多数情况下允许析构函数为您处理关闭数据库,尤其是使用小脚本时.