61. Conexión a la Base de Datos con PHP nativo

  Conexión a la base de datos con PHP (Métodos estáticos vs. públicos y PDO)

Antes de construir los modelos, vamos a configurar la conexión a la base de datos usando PHP nativo.

🔹 Estructura del proyecto

  • En proyectos anteriores (como los Freiburg), la conexión se gestionaba en un archivo separado, por ejemplo:

    • /.env (archivo oculto en la raíz del proyecto).

    • O en config/database.php (como en CodeIgniter).

En este caso, seguiremos buenas prácticas ubicando el archivo conexion.php dentro de la carpeta modelos, ya que los modelos son los encargados de interactuar con la base de datos.


🔸 Método de conexión (Estático vs. Público)

Creamos un método conectar() usando la palabra reservada static:

php
<?php  
class Conexion {  
    public static function conectar() {  
        $link = new PDO(  
            "mysql:host=localhost;dbname=api_rest",  
            "root",  
            ""  
        );  
        $link->exec("set names utf8"); // Soporte para caracteres latinos  
        return $link;  
    }  
}  
?>  

💡 ¿Por qué usar static?

  • Método público (sin static): Se ejecuta inmediatamente al instanciar la clase.

    php
    $objeto = new Clase();  
    $objeto->metodo(); // Ejecuta la tarea directamente (ej: `echo "Hola"`).  
  • Método estático: Almacena el resultado para reutilizarlo.

    php
    $objeto = Clase::metodo(); // Guarda la conexión en `$objeto`.  
    echo $objeto; // Ahora puedes usarla donde sea necesario.  

En este caso, usamos static porque necesitamos almacenar y reutilizar la conexión en los modelos.


🔗 Clase PDO: Conexión segura

PDO (PHP Data Objects) es una interfaz ligera y segura para conectarse a bases de datos. Sus ventajas:

  • Soporte múltiples motores (MySQL, PostgreSQL, etc.).

  • Previene inyecciones SQL.

  • Permite trabajar con UTF-8 (evita problemas con caracteres especiales).

📌 Documentación oficial: PHP Manual - PDO


Próximo paso: ¡Construiremos los modelos y haremos pruebas de conexión! 

Comentarios

Entradas más populares de este blog

token

¿Qué es un token y cómo se utiliza en una API?

Generación de Credenciales API