54:44
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 IDfindAll()
pour récupérer tous les enregistrements d’une tablefindBy()
pour filtrer avec plusieurs critèresfindOneBy()
pour récupérer un seul résultat selon un critère précisCes 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();
..
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.
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.
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.