データベースへの呼び出し回数が減ったためにアプリケーションのパフォーマンスが向上するように、ブラウザーごとに1つのデータベース接続のみが作成されるようにするはずのこのコードに出くわしました。
私はこれがどのように保証されるかという論理を理解していると信じていますが、これについての私の理解が正しく完全であることを確認する必要があります。なので、説明の詳細を教えてください。
また、データベース接続/呼び出しを行う場合、これよりも優れた方法はありますか?
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;
}
}