/
githubmirror
/
symfony
Обзор
Документация
Войти
/
githubmirror
/
symfony
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
8.2
src/Symfony/Component/Notifier/Chatter.php
55 строк
1 KB
Nicolas Grekas
Merge branch '5.4' into 6.3
23 янв 2024, 17:35
23 янв 2024, 17:35
9519b54
Код
Авторство
О чём код?
<?php /* * This file is part of the Symfony package. * * (c) Fabien Potencier <fabien@symfony.com> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\Notifier; use Symfony\Component\Messenger\MessageBusInterface; use Symfony\Component\Notifier\Event\MessageEvent; use Symfony\Component\Notifier\Message\MessageInterface; use Symfony\Component\Notifier\Message\SentMessage; use Symfony\Component\Notifier\Transport\TransportInterface; use Symfony\Contracts\EventDispatcher\EventDispatcherInterface; /** * @author Fabien Potencier <fabien@symfony.com> */ final class Chatter implements ChatterInterface { public function __construct( private TransportInterface $transport, private ?MessageBusInterface $bus = null, private ?EventDispatcherInterface $dispatcher = null, ) { } public function __toString(): string { return 'chat'; } public function supports(MessageInterface $message): bool { return $this->transport->supports($message); } public function send(MessageInterface $message): ?SentMessage { if (null === $this->bus) { return $this->transport->send($message); } $this->dispatcher?->dispatch(new MessageEvent($message, true)); $this->bus->dispatch($message); return null; } }