Programmation Web Avancée en PHP: Architecture MVC PDF

Summary

Ce document décrit la programmation web avancée en PHP, en mettant l'accent sur l'architecture MVC (Modèle-Vue-Contrôleur). Il présente des exemples de gestion des enseignants et des étudiants, et aborde des sujets tels que la configuration d'Apache et l'extrait du code du contrôleur principal.

Full Transcript

Programmation Web avancée en PHP Paris ***** Du 6 au 7 septembre 2010 Développement web en PHP O2 : Architecture MVC Pr: M.GHAILANI Technologies Web ...

Programmation Web avancée en PHP Paris ***** Du 6 au 7 septembre 2010 Développement web en PHP O2 : Architecture MVC Pr: M.GHAILANI Technologies Web Programmation Web avancée en PHP Partie 2 : Architecture MVC ❑Avantages et organisation Paris ***** Du 6 au 7 septembre 2010 ❑Mise en place du contrôleur principale ❑Mise place du contrôleur spécifique ❑Mise en place de la vue ❑Mise en place du modèle Pr: M.GHAILANI Technologies Web Programmation Web avancée en PHP Architecture MVC Le client Paris ***** Du 6 au 7 septembre 2010 Contrôleur (Traitement) Vue (IHM) ❑ Les modèles et les contrôleurs sont généralement des classes Modèle (Acces_BD) ❑ Les vues sont généralement des templates HTML ou PDF Pr: M.GHAILANI Technologies Web Programmation Web avancée en PHP Architecture MVC Logique applicative Contrôleur principal Logique métier Paris ***** Du 6 au 7 septembre 2010 Contrôleurs Action spécifiques Modèle Données Données Utilisateur Vue (s) Pr: M.GHAILANI Technologies Web Programmation Web avancée en PHP TP: Gestion des enseignants et des étudiants Architecture logique de l’application (1) Contrôleurs Spécifiques (index.php) Contrôleur Principal Prof Paris ***** Du 6 au 7 septembre 2010 Prof/sup/2 Action Modèle Prof/form Prof/form/3 Données Etudiant Classes Métiers Etudiant/sup/2 Etudiant/form Utilisateur Etudiant/form/3 Vue (s) Prof Etudiant Form.php affiche.php Form.php affiche.php Pr: M.GHAILANI Technologies Web Programmation Web avancée en PHP Exemple: Gestion des enseignants et des étudiants Architecture physique de l’application (2) Paris ***** Du 6 au 7 septembre 2010 Pr: M.GHAILANI Technologies Web Programmation Web avancée en PHP TP: Gestion des enseignants et des étudiants Architecture physique de l’application (3) Paris ***** Du 6 au 7 septembre 2010 Pr: M.GHAILANI Technologies Web Programmation Web avancée en PHP TP: Gestion des enseignants et des étudiants Interdiction de l’accès directe aux fichiers php avec la réécriture d’url (usage du fichier ) Paris ***** Du 6 au 7 septembre 2010 RewriteEngine On Active la réécriture des adresses condition pour vérifier que le chemin RewriteCond %{REQUEST_FILENAME} !-f représenté par la variable %{REQUEST_FILENAME} ne corresponde pas à un fichier régulier (opérateur -f) Redirection par défaut vers index.php. RewriteRule ^(.*)$ index.php?url=$1 url est une variable qui va recevoir l’url écrit par le visiteur. Pr: M.GHAILANI Technologies Web Programmation Web avancée en PHP TP: Gestion des enseignants et des étudiants Configuration de Apache pour qu’il supporte les fichiers A- Activer le module rewrite_module dans le service apache Paris ***** Du 6 au 7 septembre 2010 B- Mettre à All la directive AllowOverride dans le fichier httpd.conf. Pr: M.GHAILANI Technologies Web Programmation Web avancée en PHP TP: Gestion des enseignants et des étudiants 1 Paris ***** Du 6 au 7 septembre 2010 La racine du site 2 6 5 Contrôleur prof Vue 3 4 Modèle Pr: M.GHAILANI Technologies Web Programmation Web avancée en PHP TP: Gestion des enseignants et des étudiants Contrôleur Action id Paris ***** Du 6 au 7 septembre 2010 6 1 4 Vue Contrôleur prof 2 3 5 Modèle Pr: M.GHAILANI Technologies Web Programmation Web avancée en PHP TP: Gestion des enseignants et des étudiants Index.php Contrôleur prof Modèle Vue Paris ***** Du 6 au 7 septembre 2010 Pr: M.GHAILANI Technologies Web Programmation Web avancée en PHP TP: Gestion des enseignants et des étudiants Paris ***** Du 6 au 7 septembre 2010 Pr: M.GHAILANI Technologies Web Programmation Web avancée en PHP TP: Gestion des enseignants et des étudiants Paris ***** Du 6 au 7 septembre 2010 Pr: M.GHAILANI Technologies Web Programmation Web avancée en PHP TP: Gestion des enseignants et des étudiants Extrait du code du contrôleur principal: Paris ***** Du 6 au 7 septembre 2010 La racine du site La page index joue le rôle du contrôleur principal ; c'est à lui de dispatcher vers les contrôleurs spécifiques Pr: M.GHAILANI Technologies Web Programmation Web avancée en PHP TP: Gestion des enseignants et des étudiants Extrait du code du contrôleur spécifique (prof): Paris ***** Du 6 au 7 septembre 2010 Pr: M.GHAILANI Technologies Web Programmation Web avancée en PHP TP: Gestion des enseignants et des étudiants Code du modèle(prof): modele/global/connexion.php Paris ***** Du 6 au 7 septembre 2010 Extrait du code du modèle(prof): modele/prof/prof.php Pr: M.GHAILANI Technologies Web Programmation Web avancée en PHP TP: Gestion des enseignants et des étudiants Extrait du code de la vue (prof): vue/prof/index.php Paris ***** Du 6 au 7 septembre 2010 Pr: M.GHAILANI Technologies Web Programmation Web avancée en PHP TP: Gestion des enseignants et des étudiants Code de la vue (prof): vue/prof/supprimer.php Paris ***** Du 6 au 7 septembre 2010 Code de la vue (prof): vue/prof/afficher.php Pr: M.GHAILANI Technologies Web Programmation Web avancée en PHP TP: Gestion des enseignants et des étudiants Code de la vue (public) Paris ***** Du 6 au 7 septembre 2010 Pr: M.GHAILANI Technologies Web Programmation Web avancée en PHP TP: Gestion des enseignants et des étudiants Code de la vue (prof): vue/prof/form.php Paris ***** Du 6 au 7 septembre 2010 Pr: M.GHAILANI Technologies Web Programmation Web avancée en PHP TP: Gestion des enseignants et des étudiants Code de la vue (prof): vue/prof/form.php (la suite) Paris ***** Du 6 au 7 septembre 2010 Pr: M.GHAILANI Technologies Web