Zend Framework 2.0 - Le gestionnaire de modules
Prochain SlideShare
Loading in...5
×

Vous aimez ? Partagez donc ce contenu avec votre réseau

Partager

Zend Framework 2.0 - Le gestionnaire de modules

  • 3,036 vues
Uploaded on

Présentation du gestionnaire de modules du Zend Framework 2

Présentation du gestionnaire de modules du Zend Framework 2

  • Full Name Full Name Comment goes here.
    Êtes-vous sûr de vouloir
    Votre message apparaîtra ici
    Be the first to comment
    Be the first to like this
No Downloads

Vues

Total des vues
3,036
Sur Slideshare
3,034
From Embeds
2
Nombre d'ajouts
1

Actions

Partages
Téléchargements
64
Commentaires
0
J'aime
0

Ajouts 2

https://twitter.com 2

Signaler un contenu

Signalé comme inapproprié Signaler comme inapproprié
Signaler comme inapproprié

Indiquez la raison pour laquelle vous avez signalé cette présentation comme n'étant pas appropriée.

Annuler
    No notes for slide

Transcript

  • 1. Le gestionnaire de modules Webinar pour zend.com/fr, mercredi 17 octobre 2012mardi 16 octobre 12
  • 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. 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. 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. 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. 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. 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. Les modules dans l’applicationmardi 16 octobre 12
  • 9. Structure d’un modulemardi 16 octobre 12
  • 10. Distribuer un module • Composer • Git • Http • Copier collermardi 16 octobre 12
  • 11. Activer un module • Ajouter le module à la configuration de l’applicationmardi 16 octobre 12
  • 12. Un peu de code ! <?php namespace MyModule; class Module {}mardi 16 octobre 12
  • 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. Un vrai module 2/3mardi 16 octobre 12
  • 15. Un vrai module 3/3 La méthode « getServiceConfig() »permet de définir ses propres aides de vues :mardi 16 octobre 12
  • 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. Utiliser la fabrique 1/2 La fabrique principale peut être récupérée depuis le gestionnaire de services :mardi 16 octobre 12
  • 18. Utiliser la fabrique 2/2 L’utilisation d’une aide d’action rend le code moins compact :mardi 16 octobre 12
  • 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. 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. 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. 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. 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