2017-12-09 3 views
0

Der Phalcon-Mailer kann nicht hinzugefügt und im Projekt verwendet werden. Tun Sie das gleiche wie Anweisungen sagen. Ich habe Config Verknüpfung zu 'libraryDir' => APP_PATH . '/app/lib/', in der lib Ordner habe ich einen Mailer Ordner, wo ich die composer.json.Hinzufügen von externen Bibliotheken zum Phalcon-Projekt

folgte ich THIS aber nach dem lib im Controller verwendet habe ich

Fatal error: Uncaught Error: Class 'Phalcon\Ext\Mailer\Manager'

-Code erhielt:

use Phalcon\Http\Response; 
use Phalcon\Mvc\Model\Criteria; 
use Phalcon\Mvc\Model\Query\BuilderInterface; 
use Phalcon\Di\InjectionAwareInterface; 
use Phalcon\Mvc\Model\Resultset; use Phalcon\Ext\Mailer\Manager; 
use Phalcon\Ext\Mailer\Message; 

class EmailController extends Phalcon\Mvc\Controller { 
public function initialize() { 
if ($this->request->isPost()) { 
$this->view->disable(); 
} 
} 
public function indexAction() { 

} 

public function sendEmailAction(){ 
    if ($this->request->isPost()) { 

     $config = [ 
      'driver' => 'mail', 
      'from'   => [ 
       'email' => '[email protected]', 
       'name' => 'Email' 
      ] 
     ]; 

     $email = new Phalcon\Ext\Mailer\Message($config); 
     return "send"; 
    } 
} 
} 

Antwort

0

Sie müssen folgen Phalcon\Ext\Mailer Installationsanweisungen. Es gibt keine Anweisungen zum Setzen irgendwo composer.json. Installieren Sie einfach diese Bibliothek für die Komponist Art und Weise typische Verwendung:

composer require "phalcon-ext/mailer":"~2.0" 

Das letzte, was Sie brauchen: stellen Sie sicher, dass Sie Composer Autoloader verwenden:

require_once 'vendor/autoload.php'; 
1

@klay Antwort richtig ist. Ich sehe, dass sie tatsächlich darum bitten, eine composer.json in ihrer README zu erstellen. Aber ich stimme composer require stattdessen zu verwenden:

composer require "phalcon-ext/mailer":"~2.1" 

Sie können auch die phalcon loader verwenden, um Ihre Autoload-Datei zu registrieren, während Sie andere Dinge zu registrieren.

$loader = new Loader(); 
$loader->registerFiles('../vendor/autoload.php'); 

Wenn Sie weitere Hilfe benötigen, würde ich vorschlagen, die composer documentation

lesen
Verwandte Themen