Zend expresive-在处理程序之间传递参数

时间:2018-06-23 09:17:18

标签: php http zend-framework zend-expressive

我正在使用Zend Expresive3。我有两个句柄,一个用于呈现登录页面:

public function handle(ServerRequestInterface $request) : ResponseInterface
{
    return new HtmlResponse($this->renderer->render('web::login-page'));
}

第二个用于检查登录凭据:

public function handle(ServerRequestInterface $request): ResponseInterface
{
    $params = $request->getParsedBody();
    $isPasswordCorrect = $this->authenticationAPI->checkLogin($params);

    if ($isPasswordCorrect) {
        return new RedirectResponse($this->router->generateUri('user-logged'));
    }

    return new RedirectResponse($this->router->generateUri('login-page'));
}

如果用户输入了错误的密码,我会将其重定向回登录页面。我想在这两个处理程序之间添加额外的参数,例如使用的用户名或错误消息。最好的方法是什么?我可以生成带有属性的请求对象并将其发送给用户吗(在Zend Expresive 3中该如何做)?还是使用标题或会话? -但我认为这不是好主意。

0 个答案:

没有答案