Podcast
Questions and Answers
Quel est le rôle de la page index?
Quel est le rôle de la page index?
dispatcher vers les contrôleurs spécifiques
Le modèle est généralement une classe qui gère l'_____ avec la base de données.
Le modèle est généralement une classe qui gère l'_____ avec la base de données.
accès
Les vues sont généralement des _____ HTML ou PDF.
Les vues sont généralement des _____ HTML ou PDF.
templates
Les contrôleurs et les modèles sont généralement des classes.
Les contrôleurs et les modèles sont généralement des classes.
Quelles configurations sont nécessaires pour utiliser la réécriture d'URL dans Apache?
Quelles configurations sont nécessaires pour utiliser la réécriture d'URL dans Apache?
L'accès direct aux fichiers php est interdit avec la réécriture d’url (usage du fichier _____).
L'accès direct aux fichiers php est interdit avec la réécriture d’url (usage du fichier _____).
Flashcards
Architecture MVC
Architecture MVC
Un modèle d'architecture logicielle qui sépare les données de l'application (Modèle), l'interface utilisateur (Vue) et la logique de contrôle (Contrôleur).
Rôle du Contrôleur
Rôle du Contrôleur
Il gère le flux de l'application, traite les entrées de l'utilisateur et met à jour le modèle.
Fonction du Modèle
Fonction du Modèle
Il représente les données et la logique métier de l'application.
Objectif de la Vue
Objectif de la Vue
Signup and view all the flashcards
Avantages de MVC
Avantages de MVC
Signup and view all the flashcards
Utilisation de .htaccess
Utilisation de .htaccess
Signup and view all the flashcards
Réécriture d'URL
Réécriture d'URL
Signup and view all the flashcards
Directive AllowOverride
Directive AllowOverride
Signup and view all the flashcards
Rôle du contrôleur principal
Rôle du contrôleur principal
Signup and view all the flashcards
Fonction des contrôleurs spécifiques
Fonction des contrôleurs spécifiques
Signup and view all the flashcards
Réécriture d'URL avec .htaccess
Réécriture d'URL avec .htaccess
Signup and view all the flashcards
Activer rewrite_module
Activer rewrite_module
Signup and view all the flashcards
Couche Modèle
Couche Modèle
Signup and view all the flashcards
Fonction de AllowOverride
Fonction de AllowOverride
Signup and view all the flashcards
Study Notes
Développement Web Avancé en PHP : Architecture MVC
- La présentation porte sur le développement web avancé en PHP, en se concentrant sur l'architecture MVC (Modèle-Vue-Contrôleur).
- La présentation aborde les avantages de l'architecture MVC et son organisation.
- Sont également inclus la mise en place du contrôleur principal, du contrôleur spécifique, de la vue, et du modèle.
Architecture MVC
- Le client interagit avec la vue, qui présente l'interface utilisateur (IHM).
- Le contrôleur traite les requêtes du client et interagit avec le modèle.
- Le modèle gère l'accès aux données (base de données).
- Les modèles et les contrôleurs sont généralement des classes PHP.
- Les vues sont généralement des templates HTML ou PDF.
Logique Applicative et Métier dans MVC
- L'utilisateur interagit avec l'interface utilisateur.
- Le contrôleur principal gère les requêtes initiales.
- Les contrôleurs spécifiques traitent des actions particulières demandées par l'utilisateur.
- Le modèle encapsule la logique métier et interagit avec les données.
- La vue affiche les données et permet à l'utilisateur d'interagir.
Structure Logique de l'Application
- L'architecture logique implique un contrôleur principal (exemple : index.php) qui reçoit les requêtes de l'utilisateur.
- Les contrôleurs spécifiques (Prof, Etudiant) gèrent des actions liées à des entités spécifiques.
- Le modèle contient les classes métiers (Prof, Etudiant) et gère l'accès aux données.
- La vue affiche les informations à l'utilisateur.
Interdiction d'Accès Direct aux Fichiers PHP
- Un fichier
.htaccess
est utilisé pour interdire l'accès direct aux fichiers PHP par la réécriture d'URL. RewriteEngine On
active la réécriture d'adresses.RewriteCond %{REQUEST_FILENAME} !-f
vérifie que le chemin demandé ne correspond pas à un fichier régulier.RewriteRule ^(.*)$ index.php?url=$1
redirige toute requête versindex.php
, en passant l'URL demandée comme paramètre.
Configuration d'Apache
- Le module
rewrite_module
doit être activé dans la configuration d'Apache. - La directive
AllowOverride
doit être définie àAll
dans le fichier de configurationhttpd.conf
pour permettre l'utilisation du.htaccess
. - Indique comment utiliser le fichier
.htaccess
. - La configuration d'Apache est nécessaire pour supporter la réécriture d'URL.
Workflow d'une Action (Exemple : Liste des Professeurs)
- l'utilisateur interagit initialement avec
index.php
. - Le contrôleur
prof
est appelé. - Le modèle récupère les données des professeurs.
- La vue affiche la liste des professeurs.
Actions et Contrôleurs Spécifiques
- Lorsqu'un utilisateur effectue une action, des contrôleurs spécifiques sont appelés.
- Par exemple, les actions incluent "ajouter", "supprimer", "modifier", et "afficher".
- Le contrôleur spécifique interagit avec le modèle pour effectuer l'action demandée.
- Précise différentes actions et l'interaction entre contrôleur, modèle, et vue.
Code du Contrôleur Principal
require_once
sont utilisés pour inclure les fichiers nécessaires (vue, modèle, connexion).- L'URL est analysée pour déterminer quel contrôleur doit être appelé.
- Un switch contrôle le contrôleur à utiliser en fonction de l'URL.
- Gère la distribution vers les contrôleurs en fonction des requêtes.
Contrôleur Spécifique (Prof)
- Inclut les fichiers nécessaires pour le modèle des professeurs.
- Les actions (ajouter, supprimer, modifier, afficher) sont gérées en fonction des paramètres de l'URL.
- Différentes actions sont gérées en fonction du contexte (ajout, suppression, modification, affichage).
Code du Modèle
- La fonction
Connexion
établit une connexion à la base de données. - La fonction
Ajouter
insère de nouvelles données dans la tableprof
. - Le modele contient la connexion a la base de données.
Code de la Vue (prof/index.php)
- Affiche une liste des professeurs dans une table HTML.
- Utilise une boucle
foreach
pour afficher chaque professeur. - Inclut des liens pour ajouter, supprimer, et modifier des professeurs.
Code de la Vue (prof/supprimer.php)
- Affiche un message de confirmation avant de supprimer un professeur.
- Inclut un formulaire avec des boutons "oui" et "non" pour confirmer la suppression.
Code de la Vue (Public)
- La vue publique inclut des éléments HTML de base tels que l'en-tête et le pied de page.
- Fournit la structure de base pour l'affichage des pages.
Code de la Vue (prof/form.php)
- La vue pour le formulaire permet d'ajouter ou de modifier un professeur.
- Inclut des champs pour entrer le nom, prénom, et spécialité du professeur.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.