Я пытаюсь использовать черты в Silex для почтовой программы Swift.
Я включил:
use Silex\Application\SwiftmailerTrait;
Я также проверил, что файл признаков находится в правильном каталоге поставщиков Silex.
Характеристики теста:
$app->mail(\Swift_Message::newInstance()
->setSubject("title")
->setFrom(["www.domain.com"]])
->setTo(["[email protected]"])
->setReplyTo(["[email protected]"])
->setBody("TEST MESSAGE")
);
Затем я получаю это сообщение об ошибке:
Неустранимая ошибка: вызов неопределенного метода Silex\Application::mail() в ...\app.php в строке 88
Просто чтобы было понятно. Я могу без проблем использовать стандартный способ использования swift в Silex, и он отлично работает.
Это рабочий бит без трейтов:
// $message = \Swift_Message::newInstance()
// ->setSubject('[YourSite] Feedback')
// ->setFrom(array('[email protected]'))
// ->setTo(array('[email protected]'))
// ->setBody($request->get('message'));
// $app['mailer']->send($message);
Однако мне было интересно, что на самом деле мешало Сайлексу быстро бегать с трейтами. Есть идеи ?
Я использую PHP версии 5.6.11. Мой файл компоновщика:
{
"require": {
"components/jquery": "^2.2",
"components/css-reset": "^2.5",
"silex/silex": "~1.2",
"symfony/browser-kit": "~2.3",
"symfony/console": "~2.3",
"symfony/config": "~2.3",
"symfony/css-selector": "~2.3",
"symfony/dom-crawler": "~2.3",
"symfony/filesystem": "~2.3",
"symfony/finder": "~2.3",
"symfony/form": "~2.3",
"symfony/locale": "~2.3",
"symfony/process": "~2.3",
"symfony/security": "~2.3",
"symfony/serializer": "~2.3",
"symfony/translation": "~2.3",
"symfony/validator": "~2.3",
"symfony/monolog-bridge": "~2.3",
"symfony/twig-bridge": "~2.3",
"doctrine/dbal": ">=2.2.0,<2.4.0-dev",
"swiftmailer/swiftmailer": "5.*",
"twig/twig": "^1.24",
"symfony/security-csrf": "~2.3",
"symfony/yaml": "~2.3"
},
"autoload": {
"psr-4": {
"WL\\Form\\": "WL/Form/",
"WL\\Email\\": "WL/Email/"
},
"classmap":[],
"files":[]
}
}