part 3: Création de la classe de connexion et de gestion de la la base de données – Partie 1 | developper un site e-commerce complet en php

54:44



Contenu

Salut à tous et bienvenue dans cette troisième partie de notre série sur le développement d’un site e-commerce complet en PHP !

Dans cette vidéo, on va construire une base essentielle pour la suite du projet : la classe de gestion de la base de données.

Grâce à cette classe, on va pouvoir gérer facilement notre connexion à MySQL à l’aide de PDO, tout en gardant un code propre, réutilisable et bien organisé.

En plus de la connexion, on va commencer à mettre en place des méthodes très utiles que l’on utilisera tout au long du projet :

  • find() pour récupérer un enregistrement par son ID
  • findAll() pour récupérer tous les enregistrements d’une table
  • findBy() pour filtrer avec plusieurs critères
  • findOneBy() pour récupérer un seul résultat selon un critère précis

Ces méthodes nous permettront de faire nos requêtes SQL de manière plus souple et structurée, un peu comme un mini ORM maison.

C’est une étape très importante, donc prenez bien le temps de tout comprendre.

contenu du fichier database.php

<?php 
 
 
class Database{
    private $host = "localhost";
    private $db_name = "myShop";
    private $username = "root";
    private $password = "root";
    private $conn; 
 
     public function getConnection(){
        
        $this->conn = null; 
        try{
            $this->conn = new PDO("mysql:host=" . $this->host . ";dbname=" . $this->db_name . ";charset=utf8", $this->username, $this->password );
            $this->conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        }catch(PDOException $exception){
            die("erreur de connexion : ".$exception->getMessage());
        }
         return $this->conn; 
    }
 
 
    public function find($table, $id){
        try{
            $stm = $this->conn->prepare("SELECT * FROM $table WHERE id = :id");
            $stm->bindParam(":id", $id, PDO::PARAM_INT);
            $stm->execute();
            return $stm->fetch(PDO::FETCH_ASSOC);
         }catch(PDOException $e){
            die("erreur : " . $e->getMessage());
        }
    }
 
 
    public function findAll($table){
        try{
            $stm = $this->conn->query("SELECT * FROM $table ");
            return $stm->fetchAll(PDO::FETCH_ASSOC);
        }catch(PDOException $e){
            die("erreur : " . $e->getMessage() );
        }
    }
 
 
    public function findBy($table , $criteria){
        try{
           $query = "SELECT * FROM $table WHERE ";
           $condition = [];
           foreach($criteria as $key){
                $condition[] = "$key = :$key";
           } 
           $query .= implode(" AND ", $condition);
           $stm = $this->conn->prepare($query);
 
 
           foreach($criteria as $key => $value ){
                $stm->bindValue(":$key", $value);
           }
           $stm->execute();
           return $stm->fetchAll(PDO::FETCH_ASSOC);
 
 
        }catch(PDOException $e){
            die("erreur : " . $e->getMessage());
        }
    }
 
 
    public function findOneBy($table, $criteria){
        $resul = $this->findBy($table, $criteria);
        return $resul ? $resul[0] : null ;
    }
 
}
 
$database = new Database();
$conn = $database->getConnection();

..


lightbulb

Suivi personnalisé

Vous avez un projet professionnel ou scolaire et souhaitez maximiser vos chances de réussite ?
Un accompagnement personnalisé peut faire toute la différence. Bénéficiez d’un coaching adapté à vos objectifs, pour avancer avec méthode et confiance.

À ma charge

Réservez votre session d’audit de 30 minutes (gratuite et sans engagement). Nous évaluons ensemble votre situation et comment nous pourrions l’améliorer puissament et rapidement.

me contacter
contact.nashdev.fr@gmail.com

Nash-dev.fr

Nash-dev.fr est une plateforme conçue pour offrir un accès à des formations de qualité dans le domaine de la tech, incluant la programmation d'applications, le développement web, l'IA, et bien plus encore. Avec des cours adaptés à tous les niveaux, Nash-dev.fr propose des tutoriels vidéo, des parcours de formation complets, ainsi qu'un suivi personnalisé pour les apprenants. Que vous soyez débutant ou expert, vous y trouverez tout ce dont vous avez besoin pour développer vos compétences techniques et rester à jour dans les dernières innovations du secteur.

Conditions d’utilisation Politique de Confidentialité

Copyright 2024 © Tous droits réservés.