Objectifs
- Comprendre le principe du modèle MVC dans une application Web PHP et ses apports.
- Installer Zend Framework dans un projet de développement PHP.
- Configurer un serveur Web pour héberger une application Zend Framework.
- Configurer une application Zend Framework.
- Utiliser Zend Tool pour échafauder la structure d’une application.
- Développer une couche de persistance de données en utilisant Zend_Db et Doctrine 2 dans Zend Framework.
- Mettre en place le routage des requêtes HTTP par les contrôleurs.
- Faire le lien entre les contrôleurs et la partie métier et persistance.
- Concevoir les templates et les vues pour l’affichage des données.
- Créer des formulaires de saisie et les traiter dans les contrôleurs.
- Appliquer des restrictions d’accès à certaines ressources en mettant en place une authentification utilisateur.
Prérequis
- Connaissance de la programmation et du langage HTML, ainsi que des technologies de l’Internet.
- Avoir suivi le cours PHP – Développer des applications Web [T44B-010] ou avoir des compétences équivalentes.
- Être familiarisé avec la programmation orientée objet en PHP.
Programme
Introduction aux frameworks MVC PHP
- Qu’est-ce que MVC ?
- Apports et avantages
- La répartition des responsabilités dans une application PHP
- Implémentation du Model avec un ensemble de classes
- Réalisation des Vues avec les mécanismes de Templates PHP
- Codage des Contrôleurs pour l’aiguillage des flux
Présentation et introduction à Zend Framework
- Historique de ZF (Zend Framework)
- Différentes version du framework
- Différences entre la version 1 et la version 2
- Architecture du framework
- Les composants de base (Core Components)
Installation et configuration
- Obtenir Zend Framework
- Création d’une application de base à partir de ZendSkeletonApplication et Composer
- Arborescence de base de l’application
- Paramétrage du serveur Web pour l’hébergement de l’application
- Création et configuration d’un hôte virtuel
- Configuration du framework pour l’utiliser dans ses applications
- Liaison à la base de données
- Les différents environnements
La manipulation des bases de données pour le modèle
- Rappels sur PDO
- Utiliser Zend_Db
- Notions de base : Entity & EntityManager
- Manipulation de données avec Zend_Db
- Les différentes solutions pour l’écriture de requêtes SQL
- Gérer la persistance des données avec le mapping Objet/Relationnel
- Utilisation de Doctrine 2 avec Zend Framework
Le modèle de programmation MVC avec ZF
- Architecture MVC de ZF
- Présentation de ZendTool pour la génération de code (scaffolding)
- Présentation de la notion de module et répartition dans l’application
- Initialisation d’un module
- Génération et configuration du module
- Les composants Controller
- Génération et implémentation
- Mécanismes de liaison au modèle et à la vue
- La vue
- Implémentation des templates
- Récupération des données du modèle
- Utilisation des Layouts
- Gestion des formulaires
- Mécanismes de création
- Initialisation et affichage
- Traitement et impact sur le modèle
Utiliser les fonctionnalités avancées de ZF
- Les fonctions d’authentification et gestion des permissions
- Fonctionnalités standard et extensions
- Les fonctions d’envoi de mail
- Gestion des formats
- Utiliser des modèles HTML