我遇到了这段代码,它应该确保每个浏览器只创建一个数据库连接,以便应用程序看到由于对数据库的调用次数减少而提高的性能。
我相信我确实理解如何确保这一点的逻辑,但我只需要确认我对此的理解是正确和完整的。所以,请帮我解释细节。
在进行数据库连接/调用时还有比这更好的做法吗?
class Database {
private static $dsn = 'mysql:host=localhost;dbname=mydatabase';
private static $username = 'dbuser';
private static $password = 'dbpass';
private static $db;
private function __construct() {}
public static function getDB ()
{
if (!isset(self::$db)) {
try {
self::$db = new PDO(self::$dsn,
self::$username,
self::$password);
} catch (PDOException $e) {
$error_message = $e->getMessage();
include('../errors/database_error.php');
exit();
}
}
return self::$db;
}
}