Php 什么时候应该关闭singleton类的sql连接
我在PHP项目中使用了一个单例数据库连接类来连接MySql数据库Php 什么时候应该关闭singleton类的sql连接,php,mysql,database-connection,Php,Mysql,Database Connection,我在PHP项目中使用了一个单例数据库连接类来连接MySql数据库 // the singleton method public static function getDatabaseConnection() { if (self::$databaseConnection == null) { self::$databaseConnection = new DatabaseConnection(); self::$databaseConnection
// the singleton method
public static function getDatabaseConnection()
{
if (self::$databaseConnection == null)
{
self::$databaseConnection = new DatabaseConnection();
self::$databaseConnection->connect();
}
return self::$databaseConnection;
}
private function connect()
{
$this->connection = new mysqli($this->hostName, $this->username, $this->password, $this->databaseName)
or die (mysqli_connect_error());
}
// When should I call this method?!
public function close_connection() {
if (isset($this->connection)) {
$this->connection->close();
}
}
初始化singleton对象时,它将连接到数据库
我只是不知道什么时候应该关闭这个连接?不关闭它是否可以保存
任何额外的提示都将非常感谢,谢谢。我倾向于在单身人士的生命周期内不保留与数据库的永久连接
管理连接寿命取决于mysqli
,而MySql
则是获得到数据库的新连接,或者,您可以通过
理由:
- 如果您在网络中没有一直积极使用连接 singleton,应用程序的另一个组件可能需要连接和 更好地利用它
- 此外,通过在不再需要连接时立即释放连接, 您将更快地发现bug,例如,在您有未提交的 交易
- 最后,如果与数据库的连接断开,您的 singleton在任何情况下都需要重新连接
TL;DR-像任何其他消费者一样,尽快连接、使用和断开与singleton的连接。PHP将在脚本终止时关闭它。你不需要手动关闭它,真的。如果您有重新建立它的原因,您可以关闭并重新打开它。注意:当您连接到
mysqli
时,我在那里看到一个mysql\u错误()。这两个API不兼容。您应该检查mysqli\u connect\u error()
它已被编辑,谢谢您的提示。:)