微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – 登录laravel后的Flash消息

我正在使用Laravel 5.4和预先构建的auth库.

用户成功登录时,我想有一个甜蜜的警报(或弹出窗口),但我无法找到重定向发生的逻辑位置.

所以:

用户登录成功

获取转发到家庭控制器(需要在代码中找到这个并附加一条Flash消息或其他什么?)

在我的视图中检测是否有闪存消息并在内存中生成一条闪存消息,然后我可以使用Javascript查询它并显示一个警告框.

编辑:

我已经有了这套装,很好:

use AuthenticatesUsers;

/**
 * Where to redirect users after login.
 *
 * @var string
 */
protected $redirectTo = '/';

但我需要找到引用它的位置?并添加一条Flash消息

谢谢

解决方法:

属性方法redirectPath()中的特征RedirectsUsers中引用.该特征用于在LoginController中使用的特性AuthenticatesUsers.

话虽如此,你需要做的是相当简单.在登录控制器中,我们需要覆盖特征中的方法,以便它还将消息闪烁到会话.但由于该方法属于特征,我们不仅仅想要覆盖它,我们仍然希望在特征中使用该方法,因此我们首先需要将其别名为别名.

use AuthenticatesUsers {
    redirectPath as laravelRedirectPath;
};

现在我们可以安全地覆盖此方法以将数据刷新到会话.

/**
 * Get the post register / login redirect path.
 *
 * @return string
 */
public function redirectPath()
{
    // Do your logic to flash data to session...
    session()->flash('message', 'your message');

    // Return the results of the method we are overriding that we aliased.
    return $this->laravelRedirectPath();
}

如果你不想通过这个,你可以做的另一件事就是监听auth.login事件,在你的处理程序中,闪存那里的数据.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐