2012-04-05 2 views
0

Я хочу использовать SwiftMailer в Symfony2. Для начала я создал новый контроллер и скопировал образец с 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 терпит неудачу при использовании Symfony2 с SwiftMail

Я пробовал разные вещи, но они всегда будут в ошибке в контроллере.

не только renderView, но также и $this->get('mailer')->send($message);, это ошибка.

ответ

3

Вы не можете просто создать экземпляр контроллера как обычный класс, а затем вызвать его методы, потому что вы не затем введите контейнер обслуживания. Вместо этого создайте почтовую службу. Прочтите главу Service Container.

0

Попробуйте это: изменить порядок, получить mailer перед созданием нового swift_message как таковой:

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

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

Извините, но это тоже не удается. Ошибка теперь находится в строке 189 в Symfony/Bundle/FrameworkBundle/Controller/Controller.php вместо 84. – redshark1802

+0

может, пожалуйста, указать, какую ошибку вы получили на этот раз? – seferov

+0

'Неустранимая ошибка: вызов функции-члена get() для не-объекта в /var/www/project/Symfony/vendor/symfony/src/Symfony/Bundle/FrameworkBundle/Controller/Controller.php в строке 189' – redshark1802