Guardar mi conexión PDO como una variable global [duplicar]

Esta pregunta ya tiene una respuesta aquí:

Cómo configurar correctamente una conexión PDO 4 respuestas

Al hacer otras preguntas sobre las consultas de PDO, me han dicho que guardar mi objeto de conexión PDO como global para usarlo en mis diversas funciones que llaman a las consultas a mi base de datos es generalmente una mala práctica.

Aquí es cómo generalmente uso mi objeto DOP:

function somefunction(){
    global $pdo;

    $statement = $pdo->prepare("some query");
    $statement->execute();
}

Los argumentos que he leído son más sobre el mantenimiento y la depuración del código, donde es difícil rastrear quién modificó el objeto PDO y dónde se ubicaría en el código. Otras personas simplemente rechazan el uso de variables globales para almacenar el objeto DOP, pero realmente no pueden explicar por qué las variables globales son un mal enfoque.

Sin embargo, para proyectos pequeños y medianos con una sola base de datos, ¿existe realmente una desventaja al usar una variable global? Por lo general, tengo mi script de conexión y mi script de funciones por separado, donde el script de funciones requerirá una vez () el script de conexión, donde se crea mi objeto PDO. De esta manera, mi conexión siempre se establece y todas las modificaciones al objeto PDO se realizan en mi script de conexión.

¿Hay fallas fundamentales en el uso de este enfoque?

Respuestas a la pregunta(2)

Su respuesta a la pregunta