Architecture MVC en PHP

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson
Download our mobile app to listen on the go
Get App

Questions and Answers

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.

accès

Les vues sont généralement des _____ HTML ou PDF.

templates

Les contrôleurs et les modèles sont généralement des classes.

<p>True (A)</p>
Signup and view all the answers

Quelles configurations sont nécessaires pour utiliser la réécriture d'URL dans Apache?

<p>Les deux A et B (C)</p>
Signup and view all the answers

L'accès direct aux fichiers php est interdit avec la réécriture d’url (usage du fichier _____).

<p>.htaccess</p>
Signup and view all the answers

Flashcards

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

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

Il représente les données et la logique métier de l'application.

Objectif de la Vue

Elle affiche les données à l'utilisateur et permet l'interaction.

Signup and view all the flashcards

Avantages de MVC

Séparation des préoccupations, réutilisabilité du code, maintenabilité améliorée.

Signup and view all the flashcards

Utilisation de .htaccess

Fichiers de configuration Apache pour la réécriture d'URL.

Signup and view all the flashcards

Réécriture d'URL

Permet de manipuler les URLs pour les rendre plus propres et SEO-friendly.

Signup and view all the flashcards

Directive AllowOverride

Directive Apache qui permet de configurer les droits d'accès dans un répertoire.

Signup and view all the flashcards

Rôle du contrôleur principal

Il reçoit les requêtes et dirige vers les contrôleurs spécifiques.

Signup and view all the flashcards

Fonction des contrôleurs spécifiques

Ils gèrent des actions spécifiques comme afficher, ajouter, modifier, supprimer.

Signup and view all the flashcards

Réécriture d'URL avec .htaccess

Il permet d'éviter l'accès direct aux fichiers .php.

Signup and view all the flashcards

Activer rewrite_module

Elle active le module de réécriture d'URL dans Apache.

Signup and view all the flashcards

Couche Modèle

Sert à la logique métier et à l'accès aux données.

Signup and view all the flashcards

Fonction de AllowOverride

Permet de définir les autorisations d'accès dans les fichiers .htaccess.

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 vers index.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 configuration httpd.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 table prof.
  • 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.

Quiz Team

Related Documents

More Like This

MVC Architecture Quiz
10 questions

MVC Architecture Quiz

ForemostMagnolia avatar
ForemostMagnolia
CMPT 270: MVC Architecture Quiz
18 questions

CMPT 270: MVC Architecture Quiz

NonViolentSerpentine2856 avatar
NonViolentSerpentine2856
Introduction to Laravel Framework
38 questions
Symfony : Routage et MVC
15 questions
Use Quizgecko on...
Browser
Browser