Ho un servizio che si estende UserManager, così quando lo faccio:Iniettare SwiftMailer in servizio Symfony2
$message = \Swift_Message::newInstance()
->setSubject('~')
->setFrom('~')
->setTo('~')
->setBody('~', 'text/html');
$this->get('mailer')->send($message);
ottengo l'errore:
Fatal error: Call to undefined method My\MyBundle\Service\ServiceClass::get()
So che questo è perché ho bisogno di iniettare il swiftmailer qui, ma come? (in genere la classe di servizio estende "Generico", quindi è incluso il bollettino rapido.)
Ho aggiunto il servizio nel file .yml ma non sono sicuro di come chiamarlo nel costruttore della classe? –
Basta aggiungere un parametro al costruttore, come 'public function __construct ($ mailer)' e quindi ad es. assegnarlo a una proprietà privata nel corpo del costruttore. –
una guida dummys: aggiungi il servizio come risposta sopra. Quindi aggiungere al costruttore come sopra commento. quindi aggiungi '$ this-> mailer = $ mailer;' nel costruttore. È quindi possibile utilizzare: '$ this-> mailer-> send ($ message);' –