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

Like this? Share it with your network

Share

Zend Framework 2.0 - Le gestionnaire de modules

on

  • 2,950 vues

Présentation du gestionnaire de modules du Zend Framework 2

Présentation du gestionnaire de modules du Zend Framework 2

Statistiques

Vues

Total des vues
2,950
Vues sur SlideShare
2,948
Vues externes
2

Actions

J'aime
0
Téléchargements
61
Commentaires
0

1 intégré 2

https://twitter.com 2

Accessibilité

Catégories

Détails de l'import

Uploaded via as Adobe PDF

Droits d'utilisation

© Tous droits réservés

Report content

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
  • Full Name Full Name Comment goes here.
    Êtes-vous sûr de vouloir
    Votre message apparaîtra ici
    Processing...
Poster un commentaire
Modifier votre commentaire

Zend Framework 2.0 - Le gestionnaire de modules Presentation 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