Я попытался найти место, где Laravel уничтожает сеанс в стандартных лесах Auth, но я не могу его найти. Я CAN однако найду место, где он очищен . Функция logout()
по умолчанию в AuthenticateUsers.php:
/**
* Log the user out of the application.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function logout(Request $request)
{
$this->guard()->logout();
$request->session()->invalidate();
return $this->loggedOut($request) ?: redirect('/');
}
$this->guard()->logout();
указывает на StatefulGuard.php:
/**
* Log the user out of the application.
*
* @return void
*/
public function logout();
$request->session()->invalidate();
указывает на функцию invalidate()
в Store.php, которая указывает на flush()
также в Store.php. Однако эта функция только очищает сеанс, но не уничтожает его:
/**
* Remove all of the items from the session.
*
* @return void
*/
public function flush()
{
$this->attributes = [];
}
Итак, мой вопрос здесь: Уничтожает ли Laravel сеанс даже в стандартных лесах Auth? Если да, то где он это делает? Я абсолютно не могу найти его, и я искал часы.
p.s. не помечайте это как дубликат, потому что использование Session :: flush () не является ответом на мой вопрос.