取消设置包含PDO对象的PHP对象是否会关闭PDO连接?

取消设置包含PDO对象的PHP对象是否会关闭PDO连接?,php,pdo,Php,Pdo,考虑以下PHP代码段: $dbw = new db_writer($table_name); // establishes a PDO connection $success = $dbw->insert_record($record); unset($dbw); 取消设置$dbw对象是否会导致PDO连接关闭 我的db_writer类的全部要点是保留连接,这样,如果需要,该类可以执行多个操作,而不必为每个操作建立/断开连接。因此,该类不会取消设置PDO对象,我认为它会关闭连接

考虑以下PHP代码段:

$dbw = new db_writer($table_name);       // establishes a PDO connection
$success = $dbw->insert_record($record);
unset($dbw);
取消设置$dbw对象是否会导致PDO连接关闭


我的db_writer类的全部要点是保留连接,这样,如果需要,该类可以执行多个操作,而不必为每个操作建立/断开连接。因此,该类不会取消设置PDO对象,我认为它会关闭连接。

根据
PDO
当您将
PDO
对象值设置为
null
时,它会关闭连接。当某些对象保持对
PDO
对象实例的引用时,可能会出现这种情况。在这种情况下,连接将仅在
PHP
脚本执行结束时关闭


另外还有
PDO::ATTR_PERSISTENT
选项,允许您创建持久的
PDO
连接,该连接在脚本执行结束时不会关闭,可以在下一次脚本运行时重新使用。

根据
PDO
PDO
对象值设置为
null
时关闭连接。当某些对象保持对
PDO
对象实例的引用时,可能会出现这种情况。在这种情况下,连接将仅在
PHP
脚本执行结束时关闭


还有
PDO::ATTR_PERSISTENT
选项,允许您创建持久的
PDO
连接,该连接在脚本执行结束时不会关闭,可以在下一次脚本运行时重新使用。

只是好奇,您为什么要问?我可以说,如果对象是唯一具有PDO引用的对象,连接将尽快关闭。@YourCommonSense我在经济共享托管计划中创建的站点通常有集中的数据库服务器。我需要小心悬挂连接。@GabrielHeming可能有多个对象实例,每个实例都有自己的PDO连接。给定的对象只有一个。你说的“悬挂”是什么意思?在什么情况下它会悬挂?只是好奇,你为什么要问?我可以说,99.9%的情况下,如果对象是唯一有PDO引用的对象,那么连接将尽快关闭。@你的常识是,我建立的站点是在经济共享托管计划中,通常有集中的数据库服务器。我需要小心悬挂连接。@GabrielHeming可能有多个对象实例,每个实例都有自己的PDO连接。给定的对象只有一个。你说的“悬挂”是什么意思?我想我可以添加一个“close”方法来销毁PDO对象。这将是它的唯一目的。如果我可以通过取消设置对象来避免这种情况,那么我的代码就更简单了。我不需要也不想将连接持续到包含它的对象的生命周期之外,我想我可以添加一个“close”方法来销毁PDO对象。这将是它的唯一目的。如果我可以通过取消设置对象来避免这种情况,那么我的代码就更简单了。我不需要也不想在包含对象的生命周期之外保持连接。