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>
另外, 我试了, 不传递这个参数可以正常退出.
所以, 是我漏掉了什么, 还是本身就不需要传递这个 登陆用户呢?
关于 LearnKu
你可以尝试看一下自带的 AUTH 代码。
本身就不需要,教程里也没传啊
Auth属于全局变量,不需要传递也可以使用
@FakeSPrite 1
@Zach 在视图中的delete 有参数 ,是因为要遵循restFul 路由风格,可以了解 resource 路由,Auth 是全局对象,并且能获取当前登录用户 如 : Auth::user(),Auth::id(). 所以Auth::logout(). 自然也是退出的当前用户,
@qinplain 今天发现如果没有维护 remember_token 字段时,退出会报错:sob:
按laravel这样长期写,程序员就废了