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

Метод getContext класса TemplatedEmail

Класс TemplatedEmail позволяет создавать письма на основе Twig-шаблонов. Метод getContext возвращает массив контекста, который был передан в шаблон письма. Этот массив содержит переменные, доступные внутри Twig-шаблона при рендеринге письма. Параметров метод не принимает.

Синтаксис

public function getContext(): array

Пример

Давайте создадим письмо, передадим в него контекст и получим этот контекст обратно с помощью метода getContext:

<?php namespace AppController; use SymfonyBundleFrameworkBundleControllerAbstractController; use SymfonyComponentHttpFoundationResponse; use SymfonyComponentMimeEmailEmail; use SymfonyComponentMimeEmailTemplatedEmail; use SymfonyComponentMailerMailerInterface; class EmailController extends AbstractController { public function send(MailerInterface $mailer): Response { $email = (new TemplatedEmail()) ->from('sender@example.com') ->to('recipient@example.com') ->subject('Hello') ->htmlTemplate('email/hello.html.twig') ->context([ 'name' => 'user', 'code' => 'abcde', ]); $res = $email->getContext(); return new Response(print_r($res, true)); } } ?>

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

["name" => "user", "code" => "abcde"]

Пример

Если контекст не был задан, метод getContext вернёт пустой массив:

<?php namespace AppController; use SymfonyBundleFrameworkBundleControllerAbstractController; use SymfonyComponentHttpFoundationResponse; use SymfonyComponentMimeEmailTemplatedEmail; class EmailController extends AbstractController { public function send(): Response { $email = (new TemplatedEmail()) ->from('sender@example.com') ->to('recipient@example.com') ->subject('Hello') ->htmlTemplate('email/hello.html.twig'); $res = $email->getContext(); return new Response(print_r($res, true)); } } ?>

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

[]

Пример

Давайте передадим в контекст несколько значений разных типов и посмотрим, что вернёт метод getContext:

<?php namespace AppController; use SymfonyBundleFrameworkBundleControllerAbstractController; use SymfonyComponentHttpFoundationResponse; use SymfonyComponentMimeEmailTemplatedEmail; class EmailController extends AbstractController { public function send(): Response { $email = (new TemplatedEmail()) ->from('sender@example.com') ->to('recipient@example.com') ->subject('Article') ->htmlTemplate('email/article.html.twig') ->context([ 'title' => 'article', 'count' => 5, 'enabled' => true, 'createdAt' => new SymfonyComponentValidatorConstraintsDateTime(), ]); $res = $email->getContext(); return new Response(print_r($res, true)); } } ?>

Результат выполнения кода (сокращённо):

["title" => "article", "count" => 5, "enabled" => true, "createdAt" => DateTime object]

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

  • метод context,
    который задаёт контекст для шаблона письма
  • метод htmlTemplate,
    который задаёт HTML-шаблон письма
  • класс TemplatedEmail,
    который представляет письмо на основе шаблона
  • метод getHtmlTemplate,
    который возвращает HTML-шаблон письма
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить