Your SlideShare is downloading. ×
Symfony 2 : Performances et Optimisations
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Symfony 2 : Performances et Optimisations

3,526
views

Published on

Compte rendu du sfPot à Lille du 12 juin 2014 animé par Samuel Rozé et Thomas Segond. …

Compte rendu du sfPot à Lille du 12 juin 2014 animé par Samuel Rozé et Thomas Segond.
Le thème était Symfony : Optimisations et Performances.

Published in: Software

0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
3,526
On Slideshare
0
From Embeds
0
Number of Embeds
12
Actions
Shares
0
Downloads
14
Comments
0
Likes
3
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Symfony2: Sérialisation SfPot 12/06
 Samuel ROZE
  • 2. Serializer Abstraction du format de sortie et d’entrée Composant Serializer Sérialisation et désérialisation Fonctionnalités limitées
  • 3. JMS Serializer JMSSerializerBundle (Dé)sérialisation JSON XML YAML
  • 4. JMS Serializer Les groupes de sérialisation Comment retourner des attributs différents en fonction du context ?
  • 5. JMS Serializer Les groupes de sérialisation Sérialisation d’un User Intérêt de Media:user ? Sérialisation d’un Media Intérêt de User:medias ?
  • 6. JMS Serializer Les groupes de sérialisation 1. Configuration des groupes via annotations 2. Sérialisation avec un des groupes définis 3. Sérialisation voulue
  • 7. JMS Serializer Le versioning Faire co-habiter différentes versions d’une même entité ?
  • 8. JMS Serializer Le versioning Configuration “simple” Configuration avec le “accessType”
  • 9. JMS Serializer Le versioning NB: Utilise “version_compare” Sérialisation avec context de version
  • 10. JMS Serializer Custom handlers Comment sérialiser “à la main” un type “privé” ?
  • 11. JMS Serializer Custom handlers FileEntry gère le stockage de nos fichiers, sur différents providers (local, ftp, cdn, …)
  • 12. JMS Serializer Custom handlers Ajout de l’handler via services de Symfony
  • 13. JMS Serializer Custom handlers Un objet FileEntry devient une chaine de caractères à la sérialisation
  • 14. JMS Serializer (De)serialize events Accès aux données Avant désérialisation
 pre_serialize Après désérialisation
 post_serialize Avant sérialisation
 pre_deserialize Après sérialisation
 post_deserialize
  • 15. JMS Serializer (De)serialize events Problématique: retourner une thumbnail optimisée pour le client Avoir accès à la requête client Avoir notre thumbnailManager Pouvoir modifier l’entité avant la sérialization
  • 16. JMS Serializer (De)serialize events Création du subscriber JMS, grâce au tag jms_serializer.event_subscriber Ajout du subscriber via le builder
  • 17. JMS Serializer (De)serialize events Si le paramètre deviceWidth est dans la requête, on récupère le thumbnail le plus optimisé pour le client, qui sera sérialisé
  • 18. JMS Serializer (De)serialize events De nombreuses applications possibles : Transformation de données sensibles Cartes bleues Adresses email Modifications diverses Génération d’URLs ….
  • 19. JMS Serializer Intégration avec FOSRestBundle Groupes de sérialisation Versioning Configuration générale fos_rest.serializer.version Format version listener fos_rest.format_listener.media_ type.version_regex ‘/(v|version)=(? P<version>[0-9.]+)/'
  • 20. Merci à tous !

×