0

Symfony2でSwiftMailerを使いたいです。まず、新しいコントローラーを作成し、サンプルをhttp://symfony.com/doc/current/cookbook/email/email.htmlからコピーしました。実行しようとするrenderViewと、次のエラーメッセージが表示されます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$this->get('mailer')->send($message);エラーをスローしています。

4

2 に答える 2

3

コントローラを通常のクラスとしてインスタンス化してからそのメソッドを呼び出すことはできません。これは、サービスコンテナが注入されないためです。代わりにメーラーサービスを作成してください。詳細については、サービスコンテナの章をお読みください。

于 2012-04-06T19:16:25.513 に答える
0

これを試してください:順序を変更し、mailer新しいswift_messageを作成する前に取得してください:

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

$message = \Swift_Message::newInstance()
于 2012-04-05T14:33:45.550 に答える