Метод withValue класса Cookie
Метод withValue класса Cookie создаёт и возвращает новый объект cookie, в котором изменено значение. Исходный объект остаётся неизменным, так как класс Cookie является неизменяемым. Первым параметром передаётся новое значение cookie в виде строки.
Синтаксис
public function withValue(string $value): static
Пример
Давайте создадим cookie с именем 'user' и установим ему значение 'abcde':
<?php
namespace App\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Cookie;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Attribute\Route;
class CookieController extends AbstractController
{
#[Route('/cookie', name: 'cookie_index')]
public function index(): Response
{
$cookie = Cookie::create('user')
->withValue('abcde');
$response = new Response('cookie set');
$response->headers->setCookie($cookie);
return $response;
}
}
?>
Результат выполнения кода:
"cookie set"
Пример
Давайте изменим значение существующего cookie и выведем его через метод getValue:
<?php
namespace App\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Cookie;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Attribute\Route;
class CookieController extends AbstractController
{
#[Route('/cookie-value', name: 'cookie_value')]
public function value(): Response
{
$cookie = Cookie::create('user')
->withValue('hello');
return new Response($cookie->getValue());
}
}
?>
Результат выполнения кода:
"hello"
Смотрите также
-
класс
Cookie,
который представляет HTTP-cookie -
метод
create,
который создаёт новый экземпляр cookie -
метод
withExpires,
который задаёт время жизни cookie -
метод
withPath,
который задаёт путь действия cookie