2012-04-05 6 views
0

Ich möchte SwiftMailer in Symfony2 verwenden. Zunächst habe ich einen neuen Controller erstellt und das Beispiel von http://symfony.com/doc/current/cookbook/email/email.html kopiert. Wenn ich versuche, renderView auszuführen, erhalte ich die folgende Fehlermeldung: Fatal error: Call to a member function get() on a non-object in var/www/project/Symfony/vendor/symfony/src/Symfony/Bundle/FrameworkBundle/Controller/Controller.php on line 84.renderView schlägt fehl, wenn Symfony2 mit SwiftMail verwendet wird

Ich versuchte verschiedene Dinge, aber sie werden immer in einem Fehler in der Steuerung enden.

Nicht nur renderView, sondern auch $this->get('mailer')->send($message); wirft einen Fehler.

Antwort

3

Sie können nicht nur einen Controller als üblich Klasse instanziiert und dann seine Methoden aufrufen, weil Sie nicht tun Holen Sie sich den Servicebehälter injiziert dann. Erstellen Sie stattdessen einen Mailer-Service. Lesen Sie das Kapitel Service Container für Details.

0

Versuchen Sie folgendes: die Reihenfolge ändern, erhalten mailer bevor neue swift_message als solche zu schaffen:

$this->get('mailer')->send($message); 

$message = \Swift_Message::newInstance() 
+0

Sorry, aber es scheitert auch. Der Fehler ist jetzt in Zeile 189 in Symfony/Bundle/FrameworkBundle/Controller/Controller.php statt 84. – redshark1802

+0

kann bitte angeben, welchen Fehler hast du diesmal bekommen? – seferov

+0

'Schwerwiegender Fehler: Aufruf einer Memberfunktion get() auf einem Nichtobjekt in /var/www/project/Symfony/vendor/symfony/src/Symfony/Bundle/FrameworkBundle/Controller/Controller.php in Zeile 189' – redshark1802