ich mit Symfony2 arbeite und ich versuche, Mailer-Dienst zugreifen, aber ständig diese Fehlermeldung erhalten:Symfony2 Zugriff Mailer Service
{ "Fehler": { "Code": 500, "message": "Fehler: Aufruf auf eine Elementfunktion get() auf einem nicht-Objekt "}}
meinen Code:
<?php
namespace TestBundle\UserBundle\Utilities;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
class EmailServiceClass extends Controller
{
public function sendEmail($subject, $to, $body)
{
$msg = \Swift_Message::newInstance();
$msg->setSubject($subject);
$msg->setTo($to);
$msg->setBody($body);
$msg->setContentType('text/html');
$msg->setCharset('utf-8');
$msg->setFrom('[email protected]');
$this->get('mailer')->send($msg);
}
}
Der Fehler von dieser Linie kommt: $this->get('mailer')->send($msg);
von dem, was ich verstehe, wenn ich Cont verlängern roller calls Ich sollte auf diesen Dienst zugreifen können, ohne einen Dienst speziell erstellen zu müssen.
Warum müssen Sie die Controller-Klasse erweitern? –
Die Dienste sollten die Controller-Klasse nicht erweitern (es sei denn, Sie definieren Controller als Dienste, aber das ist ein völlig anderes Thema). So funktioniert es nicht. Sie sollten den Mailer-Service als Konstruktorparameter an Ihren Dienst 'EmailServiceClass' übergeben. –
könnten Sie mir ein Beispiel für Mailer-Service geben, die ich betrachten kann. thx – John