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 :

FOSUser service public = false [2.x]


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2003
    Messages
    307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Février 2003
    Messages : 307
    Par défaut FOSUser service public = false
    Hello

    Je voudrai accéder à un service au bundle de FOSUser

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    //Masociet\MonBundle\MonController.php
    $mailer = $this->container->get('fos_user.mailer.default');        
    $mailer->sendConfirmationEmailMessage($user);
    Mais hélas ce service offert par FOSUser est défini à public = false

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    //vendor/bundles/FOS/UserBundle/Resources/config/mailer.xml
    ...
    <container>
        <services>
            <service id="fos_user.mailer.default" class="FOS\UserBundle\Mailer\Mailer" public="false">
    ...
    Si je change et le met à true, ça fonctionne
    Mais ça implique que j'ai modifier directement dans le bundle de FOS
    Pas très pratique

    Pq mettre un service non public, et dans ce cas ci comment faire pour utiliser
    le service ?
    Passer par une class de FOS ?

    C'est bête on perd l'intéret des services

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Juillet 2011
    Messages
    146
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 146
    Par défaut
    Symfony propose les alias pour les services pour ça justement

    http://symfony.com/doc/2.0/book/serv....html#aliasing

  3. #3
    Membre éclairé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2003
    Messages
    307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Février 2003
    Messages : 307
    Par défaut
    bon j'y suis presque

    j'ai créé l'alias

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    services:  
       fos_user.mailer.default:
         class: FOS\UserBundle\Mailer\Mailer                
       mailer_fos:
         alias: fos_user.mailer.default
    j'ai un message d'erreur, car il faut que je passe le paramètre mailer

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    services:
       my_mailer: 
         fos_user.mailer.default
       fos_user.mailer.default:
         class: FOS\UserBundle\Mailer\Mailer   
         arguments: [@my_mailer]          
       mailer_fos:
         alias: fos_user.mailer.default
    Seulement chose étrange, comme dans la doc je met un @
    mais netbeans me met en rouge cette ligne
    et en effet, j'ai un gros message d'erreur sur mon site

    ErrorException: Warning: array_key_exists() expects parameter 2 to be array, string given in /var/www/Symfony/vendor/symfony/src/Symfony/Component/DependencyInjection/Loader/YamlFileLoader.php line 133
    Comment on met un arobase dans yml ???

  4. #4
    Membre éclairé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2003
    Messages
    307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Février 2003
    Messages : 307
    Par défaut
    Bon pour finir j'ai réussis, mais je suis perpexle quand à ma manière de faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    services:  
       fos_user.mailer.default:
         class: FOS\UserBundle\Mailer\Mailer
         arguments: [@mailer, @router, @templating, {'confirmation.template': 'FOSUserBundle:Registration:email.txt.twig', 'from_email': {'confirmation': 'info@domain.be' }}]
       mailer_fos:
         alias: fos_user.mailer.default

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

Discussions similaires

  1. Script de co marquage service-public.fr
    Par profx56 dans le forum Langage
    Réponses: 5
    Dernier message: 18/10/2013, 18h00
  2. Réponses: 1
    Dernier message: 16/01/2009, 15h19
  3. Service Pack 2 Beta (disponible au public)
    Par Prosis dans le forum Windows Vista
    Réponses: 2
    Dernier message: 06/12/2008, 22h44
  4. Réponses: 5
    Dernier message: 22/08/2006, 15h21

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