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