Как правильно показывать флэш-сообщения в Zend Framework 2 Expressive?

Я хотел бы настроить флеш-сообщение (slim/flash). Я видел ссылку здесь. Я сделал следующее промежуточное ПО для регистрации флеш-сообщения.

use Interop\Http\ServerMiddleware\DelegateInterface;
use Zend\Diactoros\Response\RedirectResponse;

function($request, DelegateInterface $delegate)
{
    $flash = $request->getAttribute('flash');
    $flash->addMessage('message', 'Hello World!');

    return new RedirectResponse('/other-middleware');
}

и вопрос, как получить это флэш-сообщение из представления шаблонов? Ссылка написана здесь, но я не уверен, куда мне поместить этот код и как показать флеш.

use Interop\Http\ServerMiddleware\DelegateInterface;

function($request, DelegateInterface $delegate)
{
    $flash = $request->getAttribute('flash');
    $messages = $flash->getMessages();
    // ...
}

Спасибо за помощь.

1 ответ

Подсказка в предложении ниже этого блока кода:

Отсюда вопрос предоставления флеш-сообщений вашему шаблону.

Вам нужно пройти $messages на ваш скрипт просмотра, чтобы иметь возможность их визуализации. Что-то вроде:

return new HtmlResponse(
  $this->renderer->render(
    $template,
    ['messages' => $messages]
  )
);
Другие вопросы по тегам