В чем преимущество использования singleton вместо глобального для соединений с базой данных в PHP? Я чувствую, что использование singleton вместо глобального делает код излишне сложным.
Код с глобальным
$conn = new PDO(...);
function getSomething()
{
global $conn;
.
.
.
}
Код с Singleton
class DB_Instance
{
private static $db;
public static function getDBO()
{
if (!self::$db)
self::$db = new PDO(...);
return self::$db;
}
}
function getSomething()
{
$conn = DB_Instance::getDBO();
.
.
.
}
Если есть лучший способ инициализации соединения с базой данных, отличного от глобального или одиночного, укажите его и опишите преимущества, которые он имеет в глобальном или одиночном режиме.