Я создал простую команду, которая берет URL-адрес и проверяет, работает ли веб-сайт, если не отправляет мне электронное письмо, но проблема в том, что я не знаю, как добавить SwiftMailer в команду «Выполнить».
<?php
namespace App\Command;
use Symfony\Component\Console\Command\Command;
use Symfony\Component\Console\Input\InputArgument;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Input\InputOption;
use Symfony\Component\Console\Output\OutputInterface;
use Symfony\Component\Console\Style\SymfonyStyle;
use App\Entity\Products;
use App\Entity\Settings;
use Doctrine\ORM\EntityManagerInterface;
use Doctrine\ORM\EntityRepository;
use Symfony\Bundle\FrameworkBundle\Command\ContainerAwareCommand;
class CheckwebsitesCommand extends ContainerAwareCommand
{
protected static $defaultName = 'checkwebsites';
protected function configure()
{
$this
->setName('app:checkwebsites')
->setDescription('Add a short description for your command')
;
}
protected function execute(InputInterface $input, OutputInterface $output, \Swift_Mailer $mailer)
{
если я добавлю:
protected function execute(InputInterface $input, OutputInterface $output, \Swift_Mailer $mailer)
{
, тогда у меня будет ошибка:
Warning: Declaration of App\Command\CheckwebsitesCommand::execute(Symfony\Component\Console\Input\InputInterface $input, Symfony\Component\Console\Output\OutputInterface $output, $id)
should be compatible with Symfony\Component\Console\Command\Command::execute(Symfony\Component\Console\Input\InputInterface $input, Symfony\Component\Console\Output\OutputInterface $ou
tput)
я могу t understand this "Commands" thing, why i can
у просто прикрепить пачки ведьмы, какМне нужно ?Я хочу использовать команды для установки крон.
****** РЕДАКТИРОВАТЬ
foreach($websites as $website) {
$www = $website->getJson();
$online = url_test($www['website']['www']);
if(!$online) {
$message = (new \Swift_Message('Nie działa strona '.$www['website']['www'].' !'))
->setFrom(''.$emailform.'')
->setTo(''.$emailform.'')
->setBody(
$this->templating->renderView(
'emails/websitenoworking.html.twig',
array(
'www' => $website['website']['www'],
)
),
'text/html'
);
$mailer->send($message);
}
}