Атрибут cookies
Атрибут cookies класса Request возвращает параметры cookie, переданные клиентом в запросе. Значение представляет собой объект ParameterBag, который позволяет получать значения cookie по имени. Атрибут доступен через метод $request->cookies.
Синтаксис
$request->cookies
Пример
Давайте получим значение cookie с именем 'user':
<?php
namespace AppController;
use SymfonyBundleFrameworkBundleControllerAbstractController;
use SymfonyComponentHttpFoundationRequest;
use SymfonyComponentHttpFoundationResponse;
use SymfonyComponentRoutingAttributeRoute;
class ArticleController extends AbstractController
{
#[Route('/article', name: 'article_index')]
public function index(Request $request): Response
{
$user = $request->cookies->get('user');
return new Response($user);
}
}
?>
Результат выполнения кода для cookie user=abcde:
"abcde"
Пример
Давайте проверим наличие cookie с именем 'user':
<?php
namespace AppController;
use SymfonyBundleFrameworkBundleControllerAbstractController;
use SymfonyComponentHttpFoundationRequest;
use SymfonyComponentHttpFoundationResponse;
use SymfonyComponentRoutingAttributeRoute;
class ArticleController extends AbstractController
{
#[Route('/article', name: 'article_index')]
public function index(Request $request): Response
{
if ($request->cookies->has('user')) {
return new Response('cookie found');
}
return new Response('cookie not found');
}
}
?>
Результат выполнения кода при наличии cookie:
"cookie found"
Пример
Давайте получим все cookie в виде массива:
<?php
namespace AppController;
use SymfonyBundleFrameworkBundleControllerAbstractController;
use SymfonyComponentHttpFoundationRequest;
use SymfonyComponentHttpFoundationResponse;
use SymfonyComponentRoutingAttributeRoute;
class ArticleController extends AbstractController
{
#[Route('/article', name: 'article_index')]
public function index(Request $request): Response
{
$cookies = $request->cookies->all();
return new Response(json_encode($cookies));
}
}
?>
Результат выполнения кода для cookie user=abcde и token=hello:
{"user":"abcde","token":"hello"}
Смотрите также
-
атрибут
query,
который возвращает GET-параметры запроса -
атрибут
request,
который возвращает POST-параметры запроса -
атрибут
attributes,
который возвращает атрибуты запроса -
класс
Request,
который представляет HTTP-запрос