/
githubmirror
/
symfony
Обзор
Документация
Войти
/
githubmirror
/
symfony
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
8.2
src/Symfony/Component/Notifier/Channel/BrowserChannel.php
48 строк
2 KB
Nicolas Grekas
Merge branch '7.0' into 7.1
23 янв 2024, 18:06
23 янв 2024, 18:06
6ae74d3
Код
Авторство
О чём код?
<?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\Channel; use Symfony\Component\HttpFoundation\RequestStack; use Symfony\Component\Notifier\FlashMessage\DefaultFlashMessageImportanceMapper; use Symfony\Component\Notifier\FlashMessage\FlashMessageImportanceMapperInterface; use Symfony\Component\Notifier\Notification\Notification; use Symfony\Component\Notifier\Recipient\RecipientInterface; /** * @author Fabien Potencier <fabien@symfony.com> */ final class BrowserChannel implements ChannelInterface { public function __construct( private RequestStack $stack, private FlashMessageImportanceMapperInterface $mapper = new DefaultFlashMessageImportanceMapper(), ) { } public function notify(Notification $notification, RecipientInterface $recipient, ?string $transportName = null): void { if (null === $request = $this->stack->getCurrentRequest()) { return; } $message = $notification->getSubject(); if ($notification->getEmoji()) { $message = $notification->getEmoji().' '.$message; } $request->getSession()->getFlashBag()->add($this->mapper->flashMessageTypeFromImportance($notification->getImportance()), $message); } public function supports(Notification $notification, RecipientInterface $recipient): bool { return true; } }