Introduction à Zend 2
Présentation et concepts de base
Définition d’un framework
Les espaces de noms (>= PHP 5.3)
Outils du Framework 2
Conventions d’écriture
Environnement de développement : PHP, Composer, PHPUnit
Installer, configurer et initialiser
Installer
Arborescence de fichiers
Nommer les répertoires, fichiers, classes et méthodes
Réécrire les URL (principe et mise en place)
Découverte du bootstrap d’une application
Architecture Modèle-Vue-Controleur (MVC)
«Zend Skeleton Application»
Fichiers de configuration
Gérer l’environnement
Exécuter le framework
Environnement Apache
Mettre en place l’IDE Eclipse avec PDT
Tests unitaires
Injection de dépendance
Approche TDD
Développement basé sur des tests
Design Patterns
MVC
Architecture :
– Orientée évènements
– Orientée services
Factory
Hydratation
Les modules
Gestionnaire de modules et de service
Configuration standard (Autoloading, Controllers, Views, Routes, Services)
Rôle des modules
Classe Module
Les modèles (ZendDb)
Définition d’un modèle
Connectivité
SGBDR supportés
Opérations CRUD (Create, Read, Update, Delete)
Création de requêtes SQL via un objet
Manipuler des tables et enregistrer au travers de classes
Objets personnalisés
Stratégies d’implémentation
Les formulaires
Classes ZendForm et ZendFormElement*
Validateurs
Choix de la langue pour les messages
Créer et afficher un formulaire
Eléments de formulaires et fieldsets
Contrôle et validation des données
Générer le code HTML
Déclarer les objets de formulaires
Chaîne de filtrage et de validation
Association d’un modèle à un formulaire
Traitement des données
Filtrer les données
Transformer les données (ZendFilter)
Valider les données (ZendValidator)
Filtrer un ensemble de données (ZendInputFilter)
Créer des filtres et validateurs personnalisés
Authentifier et contrôler les accès
Garder les informations
Listes des contrôles d’accès
Authentification
Utiliser des SGBD (ZendDbAdapter)
Construction dynamique de requêtes (ZendDbSql)
Mapping sur les tables (ZendDbTableGateway)
Contrôleurs et plugins
Création d’un contrôleur et d’un plugin
Définition d’actions
Pourquoi des plugins ?
Plugins par défaut
Messagerie
Réaliser une entrée dans un log
Envoi d’un email
Service Manager
Définition d’un service et de son intérêt
Déclarer des services
Types de services et services partagés
Charger automatiquement des classes
L’autoloader standard
Fichiers de mapping
Module Autoloader
Classes utilitaires et classes d’aide
Lire des fichiers de configuration
Dumper des variables
Loguer des informations vers divers médias
Gérer les sessions avec les classes du framework
Aides de vue
Outils de base
Exceptions
Journalisation des évènements
Librairies standards(ZendStdlib)
Fonctionnalités diverses
L’internationnalisation d’une application (ZendI18n)
Utiliser des systèmes de cache
Session, authentification et permissions
MVC
Théorie de MVC
Configurer le serveur
Composants de ZendMvc
Mettre en place une application avec MVC
Pattern stratégique
Modèle MVC, contrôleurs, Plug-ins et routage
View layer et helpers
Layouts
Vue modèle
Event Manager : le gestionnaire d’évènement
Découvrir le gestionnaire d’évènements
Gestionnaire d’évènements partagé
Evénements du workflow
Déclaration d’évènements
Connecter des callbacks
Gestion de la propagation des évènements