Метод queue
Метод queue класса Cookie добавляет cookie в очередь,
которая будет отправлена клиенту вместе с HTTP-ответом.
Первым параметром передаётся имя cookie, вторым - значение,
третьим - время жизни в минутах, четвёртым - путь,
пятым - домен, шестым - флаг безопасности, седьмым - флаг HTTP-only.
Синтаксис
<?php
use Illuminate\Support\Facades\Cookie;
Cookie::queue($name, $value, $minutes, $path, $domain, $secure, $httpOnly);
?>
Пример
Давайте установим простой cookie с именем 'user' и значением 'abcde'
на 60 минут:
<?php
use Illuminate\Support\Facades\Cookie;
Cookie::queue('user', 'abcde', 60);
// Cookie будет отправлен с ответом
?>
Результат выполнения кода:
"Cookie 'user' добавлен в очередь на отправку"
Пример
Давайте установим cookie с дополнительными параметрами -
путь '/admin' и домен '.example.com':
<?php
use Illuminate\Support\Facades\Cookie;
Cookie::queue('category', 'article', 120, '/admin', '.example.com');
?>
Пример
Давайте установим защищённый cookie с флагами secure и httpOnly:
<?php
use Illuminate\Support\Facades\Cookie;
Cookie::queue('secure_user', 'abcde', 30, '/', null, true, true);
?>
Пример
Давайте используем метод queue внутри контроллера
для установки cookie при обработке запроса:
<?php
namespace App\Http\Controllers;
use Illuminate\Support\Facades\Cookie;
class UserController extends Controller
{
public function setCookie()
{
Cookie::queue('user_id', 1, 120);
Cookie::queue('user_status', 'active', 120);
return response('Cookie set successfully');
}
}
?>
Результат выполнения кода:
"Cookie set successfully"
Пример
Давайте добавим в очередь массив cookie с использованием цикла:
<?php
namespace App\Http\Controllers;
use Illuminate\Support\Facades\Cookie;
class CookieController extends Controller
{
public function setMultiple()
{
$arr = ['a', 'b', 'c', 'd', 'e'];
foreach ($arr as $key => $value) {
Cookie::queue('item_' . $key, $value, 60);
}
return response('Multiple cookies queued');
}
}
?>