Метод content класса Notification
Метод content класса Notification
задаёт основное текстовое содержимое уведомления.
Это содержимое будет показано получателю в письме,
в SMS-сообщении, в чате или в push-уведомлении.
Метод принимает первым параметром строку
с текстом уведомления и возвращает объект
Notification, что позволяет строить цепочку
вызовов других методов, например subject
или importance.
Синтаксис
public function content(string $content): static
Пример
Давайте создадим уведомление и зададим ему
содержимое через метод content, а затем
отправим его получателю:
<?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
{
$notification = new Notification();
$notification->content('hello');
$recipient = new Recipient('user@example.com');
$notifier->send($notification, $recipient);
return new Response('sent');
}
}
?>
Результат выполнения кода:
"sent"
Пример
Метод content возвращает сам объект
Notification, поэтому его можно
использовать в цепочке вызовов вместе с другими
методами:
<?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-chain', name: 'notify_chain')]
public function chain(NotifierInterface $notifier): Response
{
$notification = (new Notification())
->content('article')
->subject('abcde');
$recipient = new Recipient('user@example.com');
$notifier->send($notification, $recipient);
return new Response('sent');
}
}
?>
Результат выполнения кода:
"sent"
Пример
Давайте выведем содержимое уведомления
через геттер getContent после
установки методом content:
<?php
namespace App\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Notifier\Notification\Notification;
use Symfony\Component\Routing\Attribute\Route;
class NotifyController extends AbstractController
{
#[Route('/notify-content', name: 'notify_content')]
public function content(): Response
{
$notification = new Notification();
$notification->content('hello');
return new Response($notification->getContent());
}
}
?>
Результат выполнения кода:
"hello"
Смотрите также
-
класс
Notification,
который представляет объект уведомления -
метод
subject,
который задаёт тему уведомления -
метод
importance,
который задаёт важность уведомления -
метод
send,
который отправляет уведомление получателю