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,810

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,810
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

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. ¿Le ha llamado la atención una diapositiva en particular?

    Recortar diapositivas es una manera útil de recopilar información importante para consultarla más tarde.

×