【发布时间】:2017-03-10 19:40:34
【问题描述】:
根据 php 文档,PDO 连接存在于其对象的整个生命周期中。所以在下面的代码中...
<?php
for($i = 0; $i < 5; $i++)
{
myfunc();
}
function myFunc()
{
$conn = new PDO("connectionStuff");
//Do things
}
?>
...既然 $conn 只在 myFunc 的范围内,那么每次 myFunc 执行完成时 PDO 连接是否会关闭?还是在整个页面完成之前保持 5 个 PDO 连接处于打开状态?
我必须在 myFunc 的末尾设置 $conn = null,还是没有必要?
【问题讨论】:
-
自己测试一下。只需在 php 脚本末尾添加
var_dump($conn);即可。您总是在建立一个新的 PDO 实例,它会覆盖之前创建的实例。所以在myFunc()函数结束之前,总是有一个单一的PDO连接。 -
好的,谢谢。另外,这是最佳实践,还是我应该每页使用一个 PDO 连接并将连接对象传递给函数?