Добавление внешних библиотек в проект Phalcon

Не могу добавить почтовик Phalcon и использовать его в проекте. Делаем так, как написано в инструкции. У меня есть привязка конфига к 'libraryDir' => APP_PATH . '/app/lib/', в папке lib у меня есть папка Mailer, куда я положил файл composer.json.

Я следовал ЭТОМУ, но после использования lib в контроллере я получил

Неустранимая ошибка: Uncaught Error: Class 'Phalcon\Ext\Mailer\Manager'

Код :

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";
    }
}
}

person Bogosta Pavlo    schedule 09.12.2017    source источник


Ответы (2)


@klay ответ правильный. Я вижу, что они действительно просят создать composer.json в своем README. Но я согласен использовать вместо этого composer require:

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

Вы также можете использовать загрузчик phalcon, чтобы зарегистрировать файл автозагрузки, пока вы регистрируете другие вещи.

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

Если вам нужна дополнительная помощь, я бы посоветовал прочитать документацию по композитору.

person user1855153    schedule 10.12.2017

Вы должны следовать Phalcon\Ext\Mailer инструкциям по установке. Инструкций по размещению где-либо composer.json нет. Просто установите эту библиотеку типичным для Composer способом:

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

Последнее, что вам нужно: убедитесь, что вы используете автозагрузчик Composer:

require_once 'vendor/autoload.php';
person serghei    schedule 09.12.2017