2016-10-23 1 views
1

Ich versuche SwiftMailer auf Phalcon 3 mit dem Dependency Injector zu laden und erhalte eine Fehlermeldung über den Swift_transporter Service.Swift_SmtpTransport phalcon

Phalcon \ Di \ Ausnahme:-Service '\ Swift_SmtpTransport' wurde nicht in der Dependency Injection Container

gefunden Ich mag würde wissen, wie ich die Swift_SmtpTransport Dienst in der Abhängigkeit Injektor laden , ohne Komponist. Ich weiß, dass der Komponist dieses Problem leicht lösen kann, aber ich frage mich, ob es andere Möglichkeiten gibt.

In meiner service.php Datei hinzugefügt ich die nächsten Zeilen:

$di->set('mailer', function(){ 

$mailer = new Manager([ 
    'driver' => 'sendmail', 
    'sendmail' => '/usr/sbin/sendmail -bs', 
    'viewsDir' => $this->config->application->viewsDir . 'emails/', 
    'from'  => [ 
     'email' => '[email protected]', 
     'name' => 'Company Team' 
    ] 
]); 

return $mailer; 

});

Dann rufe ich den Dienst mit den folgenden Zeilen:

$this->mailer([ 
     'to'  => '[email protected]', 
     'name' => 'First and Last Name', 
     'subject' => _('Welcome to my website'), 
     'body' => [ 
      'view' => 'welcome', 
      'params' => [ 
       'name' => 'First Name', 
       'link' => $this->url->get('users/activate/[email protected]&activation_key=******') 
      ] 
     ] 
    ]); 

Antwort

0

In Phalcon 3.0 Es wurden hinzugefügt neue Methode tun Phalcon loader loadFile genannt. Verwenden Sie es einfach mit swift_required.php Pfad

+0

Hallo Juri! Vielen Dank für Ihre Antwort – Infobuscador

0

Jetzt verstehe ich, wie es funktioniert der Phalcon Incubator. Wenn jemand den Inkubator ohne Composer installiert, muss man berücksichtigen, dass einige Bibliotheken im Inkubator externe Bibliotheken benötigen. Aus diesem Grund müssen Sie alle Abhängigkeiten der externen Bibliothek einzeln laden, wenn Sie Incubator durch Klonen des Github-Repositorys installieren und keine Aktualisierung des Composers ausführen.

+0

Oder einfach ganze Verzeichnis oder Namespace mit Phalcon Loader registrieren :) – Juri

+0

Das ist auch richtig :) – Infobuscador

+0

Ich habe keinen Anbieter Ordner in meiner Struktur, wie soll ich das gleiche Problem lösen – Naeem