Hexagonal Architecture avec Zend Expressive
Florent Blaison
Développeur Back-End
Microframework
Router
Conteneur de dépendances
Moteur de template
Gestionnaire d'erreurs
Configuration
Router
Aura.router
FastRoute (par défaut)
Zend Router
Conteneur de dépendances
Aura.Di
Pimple
Zend ServiceManager (par défaut)
Compatible PSR-11
Auryn
Symfony DI Container
Moteur de template
Plates
Twig
Zend View
Aucun (par défaut)
Gestionnaire d'erreur
Configuration
Interoperabilité
PSR-11 (Conteneur)
PSR-7 (Message HTTP)
PSR-15 (Middleware)
Orienté Middleware
2 interfaces
RequestHandlerInterface
MiddlewareInterface
Image tirée de la présentation d'Enrico Zimuel
Chainage de Middleware
Image tirée de la présentation de Thomas Dutrion
Agnostique
Router
Gestionnaire de dépendances
Moteur de template
Architecture Hexagonale
Attention !!
Ce n'est pas la solution miracle
Modèle de données anémique
Architecture Hexagonale
Testabilité
Flexibilité
Préserve le modèle
Concept
Concept
Inversion de dépendances
1 Principe SOLID : Dependency Inversion Principle
Architecture 3-Tiers
Présentation
Métier
Persistance
Architecture Hexagonale
Présentation
Métier
Persistance
Exemple avec Zend Expressive
Merci
Zend Expressive
By Florent Blaison
Zend Expressive
- 1,340