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 :

services.yml ou services.xml [2.x]


Sujet :

Symfony PHP

  1. #1
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2006
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Chine

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2006
    Messages : 71
    Points : 52
    Points
    52
    Par défaut services.yml ou services.xml
    Bonjour,

    J'ai crée mon projet en précisant que je voulais utiliser le format yml pour le fichier services.yml.

    Or j'importe un bundle (CraueFormFlowBundle) où il me faut enregistrer certaines classes en tant que services. Le code étant donnée en language XML :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    <services>
        <service id="myCompany.form.registerUser"
                class="MyCompany\MyBundle\Form\RegisterUserFormType">
            <tag name="form.type" alias="registerUser" />
        </service>
     
        <service id="myCompany.form.flow.registerUser"
                class="MyCompany\MyBundle\Form\RegisterUserFlow"
                parent="craue.form.flow"
                scope="request">
            <call method="setFormType">
                <argument type="service" id="myCompany.form.registerUser" />
            </call>
        </service>
    </services>
    Pourriez vous m'indiquer soit :

    quelle est l'équivalence de ce code en YML ? Ou bien un lien vers un tuto qui décrit la syntaxe pour les fichiers services.yml.

    comment changer la conf de mon bundle pour qu'il parse le fichier services.xml

    Merci d'avance !

    ps : quelle est le format le plus utilisé pour ce fichier services ?

  2. #2
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2012
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2012
    Messages : 26
    Points : 43
    Points
    43
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    services:
        myCompany.form.registerUser:
            class: MyCompany\MyBundle\Form\RegisterUserFormType
            tags:
                - { name: form.type, alias: registerUser }
     
        myCompany.form.flow.registerUser:
            class: MyCompany\MyBundle\Form\RegisterUserFlow
            parent: craue.form.flow
            scope: request
            calls:
                - [ setFormType, [ @myCompany.form.registerUser ] ]
    j'ai un petit doute sur le deuxieme service, à partir de la ligne 9. Mais en gros, ça doit y ressembler

  3. #3
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2006
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Chine

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2006
    Messages : 71
    Points : 52
    Points
    52
    Par défaut
    Salut simcos.

    J'ai cru remarquer que la plupart des développeurs ont une préférence pour XML lorsqu'il s'agit de définir les services. J'ai donc moi aussi suivi la tendance générale, bien que ne sachant pas exactement pourquoi...
    J'ai donc rajouté une ligne dans app/config.yml :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    imports:
        - { resource: "@MSMonBundle/Resources/config/services.xml" }
    pour qu'il prenne en compte le fichier xml et non yml.

    Merci tout de même pour ta traduction

  4. #4
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2012
    Messages : 4
    Points : 4
    Points
    4
    Par défaut
    Effectivement, XML est le langage préconisé pour la configuration des services et du routage.

    Par ailleurs, pourquoi importer les fichiers de services depuis ton config.yml ? Ca crée une dépendance inutile...

  5. #5
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2006
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Chine

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2006
    Messages : 71
    Points : 52
    Points
    52
    Par défaut
    Car je suis incapable de retrouver où on précise si on veut utiliser services.yml ou services.xml...

    De plus c'est comme ça qu'ils préconisent de faire dans la doc non ? (Section : "Importing Configuration with imports")

    Au passage saurais tu me dire pourquoi xml est préféré pour les routes et services ?

  6. #6
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2012
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2012
    Messages : 26
    Points : 43
    Points
    43
    Par défaut
    Personnellement, j'ai tendance à préférer le yml de façon générale. Je le trouve plus clair, et plus facile à utiliser. Après, je pense que c'est surtout une question de préférence.

  7. #7
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2012
    Messages : 4
    Points : 4
    Points
    4
    Par défaut
    Parce qu'il est plus verbeux et donc plus facile à comprendre pour un débutant et plus standard aussi.

    Sinon, non ce n'est pas comme ça qu'il faut le charger, utilise la commande generate:bundle pour générer un bundle et regarde comment l'import du services.xml (ou .yml) est fait dans ce bundle.

  8. #8
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2006
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Chine

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2006
    Messages : 71
    Points : 52
    Points
    52
    Par défaut
    Ah je l'ai trouvé, c'est dans DependencyInjection/MyBundleExtension.php
    Ils l'ont bien planqué les salauds!
    Merci pour vos conseils

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. WCF Service Host et clientaccesspolicy.xml
    Par Invité dans le forum Services Web
    Réponses: 2
    Dernier message: 22/07/2009, 10h14
  2. Réponses: 5
    Dernier message: 03/04/2009, 11h04
  3. Service web avec retour xml (débutant)
    Par postb99 dans le forum Services Web
    Réponses: 1
    Dernier message: 22/01/2009, 14h03
  4. Service Web, SOAP ou XML-RPC
    Par mic79 dans le forum SOA
    Réponses: 2
    Dernier message: 28/05/2008, 11h07

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