Метод forget
Метод forget класса Cookie используется для удаления
ранее установленных cookie-файлов. Он создаёт новый экземпляр
Response, который удаляет указанную cookie при отправке ответа
клиенту. Метод принимает имя удаляемой cookie в качестве
единственного параметра.
Синтаксис
<?php
use Illuminate\Support\Facades\Cookie;
Cookie::forget($name);
?>
Пример
Давайте удалим cookie с именем 'user_id':
<?php
namespace App\Http\Controllers;
use Illuminate\Support\Facades\Cookie;
use Illuminate\Http\Request;
class UserController extends Controller
{
public function logout(Request $request)
{
$res = Cookie::forget('user_id');
return response('Logged out')->cookie($res);
}
}
?>
Пример
Удалим несколько cookie в одном ответе:
<?php
namespace App\Http\Controllers;
use Illuminate\Support\Facades\Cookie;
use Illuminate\Http\Request;
class UserController extends Controller
{
public function clearAll(Request $request)
{
$res = response('All cookies cleared');
$res->cookie(Cookie::forget('user_id'));
$res->cookie(Cookie::forget('session_token'));
$res->cookie(Cookie::forget('preferences'));
return $res;
}
}
?>
Пример
Использование метода forget вместе с фасадом
Cookie для удаления cookie в контроллере:
<?php
namespace App\Http\Controllers;
use Illuminate\Support\Facades\Cookie;
use Illuminate\Http\Request;
class ProfileController extends Controller
{
public function deleteSettings(Request $request)
{
$res = response('Settings deleted');
$res->withCookie(Cookie::forget('theme'));
$res->withCookie(Cookie::forget('language'));
return $res;
}
}
?>
Результат выполнения кода:
"Settings deleted"