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

Класс Notification

Класс Notification представляет собой объект уведомления в компоненте Notifier фреймворка Symfony. Он инкапсулирует содержимое сообщения, тему, важность и список каналов, по которым уведомление должно быть доставлено. Экземпляр класса передаётся в метод send сервиса NotifierInterface, после чего фреймворк отправляет уведомление через настроенные транспорты.

Первым параметром конструктора передаётся содержимое уведомления (строка). Через цепочку методов subject, content, importance, channels и exception можно настроить дополнительные параметры перед отправкой.

Синтаксис

<?php use Symfony\Component\Notifier\Notification\Notification; $notification = new Notification($subject, $channels, $importance); ?>

Пример

Давайте создадим простое уведомление и передадим его в метод send сервиса NotifierInterface:

<?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\Routing\Attribute\Route; class NotificationController extends AbstractController { #[Route('/notify', name: 'notification_send')] public function send(NotifierInterface $notifier): Response { $notification = new Notification('article'); $notifier->send($notification); 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\Routing\Attribute\Route; class NotificationController extends AbstractController { #[Route('/notify-advanced', name: 'notification_advanced')] public function advanced(NotifierInterface $notifier): Response { $notification = (new Notification('hello')) ->subject('user') ->content('abcde') ->importance(Notification::IMPORTANCE_HIGH) ->channels(['email', 'chat']); $notifier->send($notification); return new Response('ok'); } } ?>

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

"ok"

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

  • метод content,
    который задаёт содержимое уведомления
  • метод subject,
    который задаёт тему уведомления
  • метод importance,
    который задаёт важность уведомления
  • метод channels,
    который задаёт каналы доставки уведомления
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить