Dans cette formation, j'ai appris à utiliser le modèle MVC (Model-View-Controller) pour le développement d'applications WEB en PHP.
Formation suivi : https://openclassrooms.com/fr/courses/4670706-adoptez-une-architecture-mvc-en-php
Le modèle MVC, sépare chaque traitement dans différent fichier :
//permet de récupérés les posts
function getPosts()
{
try
{
$db = new PDO('mysql:host=localhost;dbname=mvc_php;charset=utf8', 'usr_mvc_php', '********');
}
catch(Exception $e)
{
die('Erreur : '.$e--->getMessage());
}
$req = $db->query('SELECT id, title, content, DATE_FORMAT(creation_date, \'%d/%m/%Y à %Hh%imin%ss\') AS creation_date_fr FROM posts ORDER BY creation_date DESC LIMIT 0, 5');
return $req->fetchAll();
}
//appel du modèle
require('model.php');
//récupération des données
$posts = getPosts();
//affichage des données
require('indexView.php');
Par la suite, on est amené à transformer les différents éléments utilisé en objet pour tirée partie des avantages (héritage, namespace, réutilisation du code…).
Par exemple, notre modèle se transforme :
class PostManager
{
public function getPosts()
{
$db = $this->dbConnect();
$req = $db->query('SELECT id, title, content, DATE_FORMAT(creation_date, \'%d/%m/%Y à %Hh%imin%ss\') AS creation_date_fr FROM posts ORDER BY creation_date DESC LIMIT 0, 5');
return $req->fetchAll();
}
private function dbConnect()
{
$db = new PDO('mysql:host=localhost;dbname=mvc_php;charset=utf8', 'usr_mvc_php', '********');
return $db;
}
}
Et de même pour le contrôleur. De plus, au lieu de retourné en tableau on retournera des objets.
Libellé :
Certification: adopter une architecture MVC en PHP
Date publication :
09/05/2022
Type de la publication :
Certification
Catégorie de la publication :
L'auteur :
Rambaud Evan (erloup)
Les éditeurs :
Les documents :