РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
803 of 1361 menu

Класс Recipient

Класс Recipient представляет получателя уведомления в компоненте Notifier. Объект этого класса хранит контактные данные получателя (например, email или телефон), список каналов доставки и язык, который используется при формировании сообщения. Объект Recipient передаётся первым параметром в метод send класса Notifier.

Первым параметром конструктора передаётся email или телефон получателя. Вторым параметром можно передать массив каналов доставки, а третьим - язык получателя. Если каналы не указаны, Symfony использует каналы, настроенные для уведомления по умолчанию.

Синтаксис

<?php use Symfony\Component\Notifier\Recipient\Recipient; $recipient = new Recipient($email, $channels, $locale); ?>

Пример

Давайте создадим получателя с email-адресом и отправим ему уведомление:

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Notifier\Notification\Notification; use Symfony\Component\Notifier\NotifierInterface; use Symfony\Component\Notifier\Recipient\Recipient; use Symfony\Component\Routing\Attribute\Route; class NotifyController extends AbstractController { #[Route('/notify', name: 'notify_index')] public function index(NotifierInterface $notifier): Response { $recipient = new Recipient('user@example.com'); $notification = new Notification('hello'); $notifier->send($notification, $recipient); return new Response('sent'); } } ?>

Результат выполнения кода:

sent

Пример

Давайте укажем каналы доставки и язык получателя:

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Notifier\Notification\Notification; use Symfony\Component\Notifier\NotifierInterface; use Symfony\Component\Notifier\Recipient\Recipient; use Symfony\Component\Routing\Attribute\Route; class NotifyController extends AbstractController { #[Route('/notify-user', name: 'notify_user')] public function user(NotifierInterface $notifier): Response { $recipient = new Recipient( 'user@example.com', ['email', 'sms'], 'en' ); $notification = new Notification('article'); $notifier->send($notification, $recipient); return new Response('sent to channels'); } } ?>

Результат выполнения кода:

sent to channels

Пример

Давайте получим данные получателя через методы getEmail, getPhone, getChannels и getLocale:

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Notifier\Recipient\Recipient; use Symfony\Component\Routing\Attribute\Route; class NotifyController extends AbstractController { #[Route('/recipient', name: 'recipient_info')] public function info(): Response { $recipient = new Recipient( 'user@example.com', ['email'], 'en' ); echo $recipient->getEmail(); echo $recipient->getChannels()[0]; echo $recipient->getLocale(); return new Response('done'); } } ?>

Результат выполнения кода:

"user@example.comemailen"

Смотрите также

  • класс Notification,
    который описывает само уведомление
  • класс Notifier,
    который отправляет уведомления получателям
  • метод send,
    который принимает уведомление и получателя
  • класс EmailRecipient,
    который задаёт получателя только для email-канала
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить