Auth::logout () 无需要参数?

在 后台退出方法里面, 并不需要参数 (登陆用户)

public function destroy()
{
    Auth::logout();
    session()->flash('success','成功退出~');
    return redirect('login');\
}

那么, 在前台退出表单里面, 为什么还要传递当前登陆用户这个参数给 route('logout')

/*<form action="{{ route('logout') }}" method="post">*/
<form action="{{ route('logout', [Auth::user()]) }}" method="post">
    {{ csrf_field() }}
    {{ method_field('delete') }}
    <div class="form-group">
        <button type="submit" class="btn btn-block btn-danger">退出</button>
    </div>
</form>

另外, 我试了, 不传递这个参数可以正常退出.
所以, 是我漏掉了什么, 还是本身就不需要传递这个 登陆用户呢?

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
讨论数量: 6

你可以尝试看一下自带的 AUTH 代码。

5年前 评论

本身就不需要,教程里也没传啊

5年前 评论

Auth属于全局变量,不需要传递也可以使用

5年前 评论

@Zach 在视图中的delete 有参数 ,是因为要遵循restFul 路由风格,可以了解 resource 路由,Auth 是全局对象,并且能获取当前登录用户 如 : Auth::user(),Auth::id(). 所以Auth::logout(). 自然也是退出的当前用户,

5年前 评论

@qinplain 今天发现如果没有维护 remember_token 字段时,退出会报错:sob:

4年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!