Сохранение моего подключения к PDO в качестве глобальной переменной [дубликат]
На этот вопрос уже есть ответ здесь:
Как правильно настроить соединение PDO 4 ответаЗадавая другие вопросы о запросах PDO, яМне говорили, что сохранение моего объекта соединения PDO как глобального для использования его в моих различных функциях, которые вызывают запросы к моей базе данных, обычно является плохой практикой.
Вот как я обычно использую свой объект PDO:
function somefunction(){
global $pdo;
$statement = $pdo->prepare("some query");
$statement->execute();
}
Аргументы яВы читали больше о поддержке и отладке кода, гдеТрудно отследить, кто изменил объект PDO и где в коде это будет. Другие люди просто отвергают использование глобальных переменных для хранения объекта PDO, но могут:Это действительно объясняет, почему глобальные переменные - плохой подход.
Однако для небольших и средних проектов с одной базой данных есть ли недостаток в использовании глобальной переменной? У меня обычно есть сценарий подключения и сценарий функций отдельно, где сценарий функций требует require_once () сценария подключения, где создается мой объект PDO. Таким образом, мое соединение всегда устанавливается, и все изменения объекта PDO выполняются в моем сценарии соединения.
Есть ли фундаментальные недостатки в использовании этого подхода?