/
githubmirror
/
symfony
Обзор
Документация
Войти
/
githubmirror
/
symfony
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
8.2
src/Symfony/Component/Notifier/Event/NotificationEvents.php
67 строк
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\Event; use Symfony\Component\Notifier\Message\MessageInterface; /** * @author Fabien Potencier <fabien@symfony.com> */ class NotificationEvents { private array $events = []; private array $transports = []; public function add(MessageEvent $event): void { $this->events[] = $event; $this->transports[(string) $event->getMessage()->getTransport()] = true; } public function getTransports(): array { return array_keys($this->transports); } /** * @return MessageEvent[] */ public function getEvents(?string $name = null): array { if (null === $name) { return $this->events; } $events = []; foreach ($this->events as $event) { if ($name === (string) $event->getMessage()->getTransport()) { $events[] = $event; } } return $events; } /** * @return MessageInterface[] */ public function getMessages(?string $name = null): array { $events = $this->getEvents($name); $messages = []; foreach ($events as $event) { $messages[] = $event->getMessage(); } return $messages; } }