Un simple modèle MVC en PHP.
Le projet est organisé selon le modèle MVC (Modèle-Vue-Contrôleur) et se compose des dossiers suivants :
Contient les classes abstraites et les fonctionnalités de base du projet.
- Controller : Gère le rendu des vues et le chargement des modèles.
- Model : Contient les méthodes nécessaires pour établir une connexion à la base de données MySQL via PDO et méthodes de base.
Contient les contrôleurs du projet. Dans cet exemple, le contrôleur principal est Main.php
.
Contient les classes représentant les modèles du projet. Chaque modèle est responsable de l’interaction avec les données. Par exemple, un modèle User.php
pourrait gérer l’interaction avec la table des utilisateurs dans la base de données.
Contient les vues du projet. Il inclut également un layout de base situé dans /layout/default.php
.
Contient les fichiers accessibles publiquement, tels que les fichiers CSS, JavaScript et autres fichiers statiques.
- /css : Contient les fichiers CSS spécifiques aux vues.
- /js : Contient les fichiers JavaScript spécifiques aux vues.
Tous les fichiers publics (CSS, JS, images, etc.) doivent être placés dans ce dossier pour être accessibles via le navigateur. Actuellement, seuls les dossiers /css
et /js
sont présents.
- Le contrôleur charge le modèle nécessaire via la méthode correspondante.
- Le modèle interagit avec la base de données pour récupérer les données.
- Le contrôleur envoie ces données à la vue qui est ensuite rendue à l'utilisateur.
- Clonez ce projet sur votre machine.
- Installez et lancez un serveur local tel que WAMP, MAMP, XAMPP, ou un autre de votre choix.
- Placez le dossier du projet dans le répertoire
www
(pour WAMP, MAMP, XAMPP, etc.). - Assurez-vous d'avoir une base de données MySQL configurée, puis mettez à jour les informations de connexion dans le modèle.
- Accédez à
http://localhost/nom_du_projet
dans votre navigateur pour voir l'exemple de fonctionnement.
Le fichier .htaccess
permet de réécrire les URL pour les rendre plus lisibles. La règle suivante :
RewriteEngine On
RewriteRule ^([a-zA-Z0-9\-\_\/]*)$ index.php?p=$1
Cette règle active le moteur de réécriture et redirige les URL propres (comme http://localhost/ma-page) vers index.php, avec le paramètre p qui correspond à la valeur capturée dans l'URL. Cela permet de gérer dynamiquement les pages via le contrôleur principal (index.php).
Exemple : URL avant réécriture : http://localhost/index.php?p=ma-page
URL après réécriture : http://localhost/ma-page