Метод getBody
Метод getBody класса Email возвращает
текущее тело письма. Тело письма - это содержимое,
которое увидит получатель: обычный текст или
HTML-разметка. Метод не принимает параметров
и возвращает строку или объект, реализующий
интерфейс BodyRendererInterface. Если тело
не было установлено, метод вернёт значение null.
Обычно используется совместно с методами
text и html.
Синтаксис
public function getBody(): string|object|null
Пример
Давайте создадим письмо, установим текстовое тело
через метод text и получим его обратно
с помощью метода getBody:
<?php
namespace AppController;
use SymfonyBundleFrameworkBundleControllerAbstractController;
use SymfonyComponentHttpFoundationResponse;
use SymfonyComponentMimeEmailEmail;
use SymfonyComponentRoutingAttributeRoute;
class EmailController extends AbstractController
{
#[Route('/email/body', name: 'email_body')]
public function body(): Response
{
$email = new Email();
$email->text('hello');
return new Response($email->getBody());
}
}
?>
Результат выполнения кода:
"hello"
Пример
Давайте установим HTML-тело через метод html
и получим его с помощью метода getBody:
<?php
namespace AppController;
use SymfonyBundleFrameworkBundleControllerAbstractController;
use SymfonyComponentHttpFoundationResponse;
use SymfonyComponentMimeEmailEmail;
use SymfonyComponentRoutingAttributeRoute;
class EmailController extends AbstractController
{
#[Route('/email/html', name: 'email_html')]
public function html(): Response
{
$email = new Email();
$email->html('<p>article</p>');
return new Response($email->getBody());
}
}
?>
Результат выполнения кода:
"<p>article</p>"
Пример
Давайте проверим, что вернёт метод getBody,
если тело письма не было установлено:
<?php
namespace AppController;
use SymfonyBundleFrameworkBundleControllerAbstractController;
use SymfonyComponentHttpFoundationResponse;
use SymfonyComponentMimeEmailEmail;
use SymfonyComponentRoutingAttributeRoute;
class EmailController extends AbstractController
{
#[Route('/email/empty', name: 'email_empty')]
public function empty(): Response
{
$email = new Email();
$res = $email->getBody();
return new Response(var_export($res, true));
}
}
?>
Результат выполнения кода:
NULL
Смотрите также
-
класс
Email,
который представляет электронное письмо -
метод
text,
который устанавливает текстовое тело письма -
метод
html,
который устанавливает HTML-тело письма -
метод
getHeaders,
который возвращает заголовки письма