Метод forever
Метод forever класса Cookie применяется
для создания куки, которая не имеет срока истечения.
Первым параметром передаётся имя куки, вторым - значение.
Метод возвращает экземпляр Cookie, который можно
передать в ответ или использовать с помощью фасада
Cookie.
Синтаксис
<?php
Cookie::forever($name, $value);
?>
Пример
Давайте установим бессрочную куку с именем 'theme'
и значением 'dark' в контроллере:
<?php
namespace App\Http\Controllers;
use Illuminate\Support\Facades\Cookie;
use Illuminate\Http\Response;
class ThemeController extends Controller
{
public function setTheme()
{
$cookie = Cookie::forever('theme', 'dark');
return response('Theme set')
->cookie($cookie);
}
}
?>
Результат выполнения кода:
"Theme set"
Пример
Давайте установим бессрочную куку с использованием
фасада Cookie напрямую в ответе:
<?php
namespace App\Http\Controllers;
use Illuminate\Support\Facades\Cookie;
class UserController extends Controller
{
public function rememberUser()
{
$cookie = Cookie::forever('user_id', 5);
return response('User remembered')
->withCookie($cookie);
}
}
?>
Результат выполнения кода:
"User remembered"
Пример
Давайте установим бессрочную куку и проверим её
существование в следующем запросе с помощью
объекта Request:
<?php
namespace App\Http\Controllers;
use Illuminate\Support\Facades\Cookie;
use Illuminate\Http\Request;
class ProfileController extends Controller
{
public function setPreference()
{
$cookie = Cookie::forever('language', 'en');
return response('Language set')
->withCookie($cookie);
}
public function getPreference(Request $request)
{
$lang = $request->cookie('language');
return response($lang);
}
}
?>
Результат выполнения кода:
"en"