Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- /*
- * Clase wrapper de PDO en modo Singleton.
- */
- class DBConnection
- {
- // Defino una propiedad estática para almacenar el objeto PDO.
- /** @var PDO */
- protected static $db;
- // Defino un constructor privado para evitar que cualquiera
- // instancie la clase.
- private function __construct()
- {}
- /**
- * Conecta con la base de datos.
- */
- protected static function connect()
- {
- // Estos datos podrían leerse de un archivo de configuración
- // externo.
- // echo "Conectando a la base de datos...";
- $db_host = "localhost";
- $db_user = "root";
- $db_pass = "";
- $db_name = "proyecto_colibri";
- $db_dsn = "mysql:host=" . $db_host . ";dbname=" . $db_name . ";charset=utf8";
- self::$db = new PDO($db_dsn, $db_user, $db_pass);
- }
- /**
- * Retorna el objeto de conexión PDO.
- *
- * @return PDO
- */
- public static function getConnection()
- {
- // Verificamos si tenemos el objeto PDO instanciado.
- if(is_null(self::$db)) {
- self::connect();
- }
- return self::$db;
- }
- /**
- * Retorna el PDOStatement del $query proporcionado.
- * Método de conveniencia.
- *
- * @param string $query
- * @return PDOStatement
- */
- public static function getStatement($query)
- {
- return self::getConnection()->prepare($query);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement