0

我想设置 flash 消息(slim/flash)。我在这里看到了参考。我制作了以下中间件来注册 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');
}

问题是如何从视图模板中获取此 Flash 消息?参考写在这里,但我不确定我应该把这段代码放在哪里以及如何显示闪光灯。

use Interop\Http\ServerMiddleware\DelegateInterface;

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

谢谢您的帮助。

4

1 回答 1

0

提示在该代码块下方的句子中:

从那里开始,只需将 Flash 消息提供给您的模板即可。

您需要传递$messages给您的视图脚本才能渲染它们。就像是:

return new HtmlResponse(
  $this->renderer->render(
    $template,
    ['messages' => $messages]
  )
);
于 2017-07-27T08:56:03.963 回答