IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Symfony PHP Discussion :

Quand utiliser les services


Sujet :

Symfony PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2012
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2012
    Messages : 13
    Points : 10
    Points
    10
    Par défaut Quand utiliser les services
    Bonjour,

    Tout nouveau sur Symfony2, je viens de terminer d'éplucher la documentation du site officiel (Cookbook etc). Et j'aurai besoin de vos lumières sur les Services.

    De facçon générale j'ai compris le principe d'instanciation unique de la classe etc mais
    j'ai beau lire et relire ce chapitre, je ne vois pas vraiment quand utiliser un service ou non
    sauf si par exemple je n'utilise pas Doctrine et que je souhaite faire une instance à ma bdd.

    Voici quelques cas concret pour vous expliquer :

    - Sur un site web j'ai un bloc en colonne de droite présent sur toutes les pages du site qui affiche le résultat d'un flux rss. Dois-je utiliser un service pour parser ce flux et "stocker" les informations dans la classe du service ?

    Et si ce flux est caché pendant 1h ?

    - Sur une page je dois afficher la liste de tous les départements Français. Ces départements sont contenus dans un fichier xml. Dois-je créer un service pour
    parser le fichier xml ?

    Voila j'espère que vous aurez compris mon problème

    Je vous remercie par avance.

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2012
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2012
    Messages : 13
    Points : 10
    Points
    10
    Par défaut
    Je suis peut-être le seul a n'avoir rien compris

  3. #3
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    725
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juin 2011
    Messages : 725
    Points : 1 050
    Points
    1 050
    Par défaut
    Bonjour,

    D'une façon générale, un service devrait être créé dés lors que des traitements peuvent être appelé de plusieurs points de ton application (ex: un traitement par lot qui pourrait être appelé par ligne de commande (via cron) ou manuellement par une action d'un controller).
    Par ailleurs en créant des services, on crée avant tout des classes, ce qui permet d'écrire des tests unitaires.

    plus concrètement:
    - Sur un site web j'ai un bloc en colonne de droite présent sur toutes les pages du site qui affiche le résultat d'un flux rss. Dois-je utiliser un service pour parser ce flux et "stocker" les informations dans la classe du service ?

    Et si ce flux est caché pendant 1h ?
    à priori le plus simple pour faire cela serait d'utiliser un render d'une action de controller :
    http://symfony.com/doc/2.0/book/templating.html#index-8
    qui peut éventuellement être mis en cache grâce à ESI
    http://symfony.com/doc/2.0/book/http...-side-includes
    Donc ton action va récupérer le flux RSS, le parse et le renvoit dans une template twig.
    Tu peux tout à fait passer par un service pour cela (en lui injectant le service twig) mais rien ne t'y oblige.

    - Sur une page je dois afficher la liste de tous les départements Français. Ces départements sont contenus dans un fichier xml. Dois-je créer un service pour
    parser le fichier xml ?
    Je dirais que oui il serait plutôt conseillé de passer par un service, afin d'avoir une façon normalisé de récupérer la liste des départements
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $container->get('dpt_provider')->getList()
    l'intéret serait surtout à terme de gérer un cache sur cette liste de dpt (le parsing d'un xml reste quelque chose d'assez couteux en ressource et tu pourrais avoir besoin d'optimiser cette partie)

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2012
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2012
    Messages : 13
    Points : 10
    Points
    10
    Par défaut
    Un grand merci. Tout est plus clair

Discussions similaires

  1. Quand utiliser les pointeurs ?
    Par kedare dans le forum Qt
    Réponses: 4
    Dernier message: 22/08/2007, 11h50
  2. [POO] Quand utiliser les Exceptions?
    Par ChriGoLioNaDor dans le forum Langage
    Réponses: 2
    Dernier message: 20/06/2007, 08h40
  3. quand utiliser les modules de classe
    Par borislotte dans le forum Access
    Réponses: 3
    Dernier message: 02/03/2007, 14h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo