¿Es una envoltura de pdo realmente excesiva? [cerrado]

He investigado un poco sobre el uso de una pasarela de datos para mis datos. Sin embargo, leí algunas publicaciones en las que la gente dice que no debería usar la DOP para un envío de datos porque ya es una.

Eso puede ser así, pero todavía estoy convencido de que tiene muchos beneficios.

Maneja todas sus acciones de datos (crud) en una clase, no distribuidas en los archivos de su sitio web. Así que es mucho más fácil depurar y manejar errores.Fácilmente puede cambiar su clase con otra clase de datos.No tiene que repetir su código, solo llame al código en la clase de datosOpcionalmente, puede ampliar la clase con, por ejemplo, registro, pruebas estadísticas, ...

Ejemplo:

<?php
class Database
{
    public $connection; 
    private $host = "";
    private $username = "";
    private $password = "";
    private $dbname = "";

    public function __construct(){      
        $this->connection = new PDO("mysql:host=$this->host;dbname=$this->dbname",$this->username,$this->password,array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));
        $this->connection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    }

    public function insert($query, array $data){        
        $this->connection->prepare($query)->execute($data);     
        return $this->connection->lastInsertId();
    }

    public function update($query, array $data) {
        $stmt = $this->executeQuery($query,$data);
        return $stmt->rowCount();       
    }

    public function delete($query, array $data) {
        $stmt = $this->executeQuery($query,$data);
        return $stmt->rowCount();       
    }

    public function findOne($query, array $data = null){        
        $stmt = $this->executeQuery($query,$data);          
        return $stmt->fetchObject();
    }

    public function findMany($query, array $data = null){
        $stmt = $this->executeQuery($query,$data);
        return($stmt->fetchAll(PDO::FETCH_OBJ));
    }

    public function executeQuery($query,$data = null){
        $stmt = $this->connection->prepare($query);
        $stmt->execute($data);
        return $stmt;
    }
}
?>

En lugar de repetir constantemente todos los pasos para recuperar datos, puede llamar a get () y pasar una consulta y algunos parámetros opcionales. Esto es mucho más eficiente que cada vez que abra una conexión, realice 3 líneas de código y ciérrela.

$db->get("select * from user where id = ?",array(1));

Respuestas a la pregunta(2)

Su respuesta a la pregunta