0
Le gestionnaire de                           modules                               Webinar pour zend.com/fr, mercredi 17 o...
Vincent Blanchon ?        • Certifié PHP & Zend Framework        • Développeur Zend Framework chez Orange Portails        •...
Qu’est ce qu’un module ?        • Ensemble de fonctionnalités réutilisables pour construire        une application. Ex : f...
Les modules avec le ZF1        • Difficile à réutiliser        • Beaucoup trop couplé avec la couche MVC        • Pas de mé...
Les modules avec le ZF2        • Réutilisable, léger et configurable        • Hiérarchie modulable        • Distribution de...
Quel genre de modules ?        • Tout et n’importe quoi !        - Module de paiement pour le e-commerce        - Intégrat...
Exemple avec ZfcUser        • Authentification et enregistrement        • Simple et extensible        • Intégration des règ...
Les modules dans l’applicationmardi 16 octobre 12
Structure d’un modulemardi 16 octobre 12
Distribuer un module        • Composer        • Git        • Http        • Copier collermardi 16 octobre 12
Activer un module        • Ajouter le module à la configuration de l’applicationmardi 16 octobre 12
Un peu de code !        <?php        namespace MyModule;        class Module {}mardi 16 octobre 12
Un vrai module 1/3        Prenons un exemple avec un gestionnaire de mémoire        partagée. Ce module doit :        • éc...
Un vrai module 2/3mardi 16 octobre 12
Un vrai module 3/3    La méthode « getServiceConfig() »permet de définir ses propres aides de vues :mardi 16 octobre 12
Comment enrichir la classe ?        • ZendModuleManagerFeature fournit des interfaces        permettant d’interagir avec l...
Utiliser la fabrique 1/2    La fabrique principale peut être récupérée depuis le gestionnaire de services :mardi 16 octobr...
Utiliser la fabrique 2/2    L’utilisation d’une aide d’action rend le code moins compact :mardi 16 octobre 12
Le gestionnaire de modules        • Charge chacun des modules.        • Pour chacun des modules, il va appeler chacune des...
Bonnes pratiques        • Utiliser un préfixe propre à l’éditeur du module : « MiklSeo        » et non « SeoModule »       ...
Approfondir le sujet        • Pourquoi se satisfaire d’un chargement complet        • Performances et sécurité        • Pe...
Liste de modules intéressants        • EdpSuperluminal : mis en cache de fichier ZF2 récurrent        • MiklSeo : automatis...
Des questions ?     • Twitter : @blanchonvincent     • Web : http://developpeur-zend-framework.fr     • Github : https://g...
Prochain SlideShare
Chargement dans... 5
×

Zend Framework 2.0 - Le gestionnaire de modules

2,782

Published on

Présentation du gestionnaire de modules du Zend Framework 2

0 commentaires
0 mentions J'aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Be the first to like this

Aucun téléchargement
Vues
Total des vues
2,782
Sur Slideshare
0
À partir des ajouts
0
Nombre d'ajouts
1
Actions
Partages
0
Téléchargements
78
Commentaires
0
J'aime
0
Ajouts 0
No embeds

No notes for slide

Transcript of "Zend Framework 2.0 - Le gestionnaire de modules"

  1. 1. Le gestionnaire de modules Webinar pour zend.com/fr, mercredi 17 octobre 2012mardi 16 octobre 12
  2. 2. Vincent Blanchon ? • Certifié PHP & Zend Framework • Développeur Zend Framework chez Orange Portails • Contributeur Zend Framework 2 • Tutoriel sur blanchon-vincent.developpez.com • Auteur du livre « Au coeur de Zend Framework 2 » http://au-coeur-de-zend-framework-2.frmardi 16 octobre 12
  3. 3. Qu’est ce qu’un module ? • Ensemble de fonctionnalités réutilisables pour construire une application. Ex : forum, livre d’or, facebook, analytics. • Permet de séparer les différentes couches d’une application • N’écrire le code qu’une seule fois ! Ou utiliser ce qui est déjà fait.mardi 16 octobre 12
  4. 4. Les modules avec le ZF1 • Difficile à réutiliser • Beaucoup trop couplé avec la couche MVC • Pas de mécanisme de distribution • Pas de mécanisme de packagingmardi 16 octobre 12
  5. 5. Les modules avec le ZF2 • Réutilisable, léger et configurable • Hiérarchie modulable • Distribution depuis le site modules.zendframework.com ou via Composermardi 16 octobre 12
  6. 6. Quel genre de modules ? • Tout et n’importe quoi ! - Module de paiement pour le e-commerce - Intégration de moteur de templates - Intégration de bibliothèque comme Doctrine2 - Gestion de la mémoire - Mini application : forum, blog, etc.mardi 16 octobre 12
  7. 7. Exemple avec ZfcUser • Authentification et enregistrement • Simple et extensible • Intégration des règles de sécurité : jeton CSRF, Bcrypt, etc. • Fonctionne avec ZendDb ou Doctrine/MongoDb • Extensible : ScnSocialAuth, CdliUserProfile, etc.mardi 16 octobre 12
  8. 8. Les modules dans l’applicationmardi 16 octobre 12
  9. 9. Structure d’un modulemardi 16 octobre 12
  10. 10. Distribuer un module • Composer • Git • Http • Copier collermardi 16 octobre 12
  11. 11. Activer un module • Ajouter le module à la configuration de l’applicationmardi 16 octobre 12
  12. 12. Un peu de code ! <?php namespace MyModule; class Module {}mardi 16 octobre 12
  13. 13. Un vrai module 1/3 Prenons un exemple avec un gestionnaire de mémoire partagée. Ce module doit : • écrire et lire dans différents types de stockage • permettre de changer et de configurer à la volée les types de stockage • être simple d’utilisation et fiable • interagir facilement avec d’autres modulesmardi 16 octobre 12
  14. 14. Un vrai module 2/3mardi 16 octobre 12
  15. 15. Un vrai module 3/3 La méthode « getServiceConfig() »permet de définir ses propres aides de vues :mardi 16 octobre 12
  16. 16. Comment enrichir la classe ? • ZendModuleManagerFeature fournit des interfaces permettant d’interagir avec l’application • Nativement, il est possible de : - enrichir la configuration globale du framework (ConfigListener) - enregistrer facilement ses aides de vues (ViewHelperProviderInterface) - agir sur les évènements du framework (OnBootstrapListener) - interagir avec le gestionnaire de modules (InitTrigger)mardi 16 octobre 12
  17. 17. Utiliser la fabrique 1/2 La fabrique principale peut être récupérée depuis le gestionnaire de services :mardi 16 octobre 12
  18. 18. Utiliser la fabrique 2/2 L’utilisation d’une aide d’action rend le code moins compact :mardi 16 octobre 12
  19. 19. Le gestionnaire de modules • Charge chacun des modules. • Pour chacun des modules, il va appeler chacune des méthodes implémentées et va enrichir la configuration. • La configuration de l’application est fusionnée, enrichie par les fichiers indiqués dans le fichier application.config.php • Tout ce traitement peut être mis en cache !mardi 16 octobre 12
  20. 20. Bonnes pratiques • Utiliser un préfixe propre à l’éditeur du module : « MiklSeo » et non « SeoModule » • Le module doit faire une chose et le faire bien • Le module embarque des tests unitairesmardi 16 octobre 12
  21. 21. Approfondir le sujet • Pourquoi se satisfaire d’un chargement complet • Performances et sécurité • Permet de mieux comprendre le chargement des modules • https://github.com/blanchonvincent/zf2-lazy-loading-modulemardi 16 octobre 12
  22. 22. Liste de modules intéressants • EdpSuperluminal : mis en cache de fichier ZF2 récurrent • MiklSeo : automatise les titles/meta de votre application • ModuleDefaultRouteListener : permet le routage module/ contrôler/action avec enregistrement auto des contrôleurs • ZfcUser : gestion des utilisateurs • ZFTU (zend-framework-test-phpunit)mardi 16 octobre 12
  23. 23. Des questions ? • Twitter : @blanchonvincent • Web : http://developpeur-zend-framework.fr • Github : https://github.com/blanchonvincent • Tutoriels : http://blanchon-vincent.developpez.com Présentation inspirée du webinar d’Evan Coury que je remercie.mardi 16 octobre 12
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×