РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
512 of 1361 menu

Метод withPath класса Cookie

Метод withPath класса Cookie возвращает новый объект cookie с изменённым путём, по которому браузер будет отправлять cookie на сервер. Первым параметром передаётся строка с новым путём. Исходный объект при этом не изменяется - метод работает по принципу неизменяемости, возвращая копию с новым значением.

Синтаксис

public function withPath(string $path): static

Пример

Давайте создадим cookie и зададим ей путь '/admin':

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Cookie; use Symfony\Component\HttpFoundation\Response; class CookieController extends AbstractController { public function index(): Response { $cookie = Cookie::create('user', 'abcde'); $cookie = $cookie->withPath('/admin'); $response = new Response('cookie set'); $response->headers->setCookie($cookie); return $response; } } ?>

Результат выполнения кода:

"cookie set"

Пример

Давайте проверим, что исходный объект cookie не изменяется после вызова метода:

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Cookie; use Symfony\Component\HttpFoundation\Response; class CookieController extends AbstractController { public function index(): Response { $cookie = Cookie::create('user', 'abcde'); $newCookie = $cookie->withPath('/admin'); echo $cookie->getPath(); echo $newCookie->getPath(); return new Response(); } } ?>

Результат выполнения кода:

"/" "/admin"

Пример

Давайте зададим cookie путь '/', чтобы она была доступна на всём сайте:

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Cookie; use Symfony\Component\HttpFoundation\Response; class CookieController extends AbstractController { public function index(): Response { $cookie = Cookie::create('user', 'hello') ->withPath('/') ->withSecure(true); $response = new Response('cookie set'); $response->headers->setCookie($cookie); return $response; } } ?>

Результат выполнения кода:

"cookie set"

Смотрите также

  • класс Cookie,
    который представляет объект cookie
  • метод create,
    который создаёт новый объект cookie
  • метод withValue,
    который задаёт значение cookie
  • метод withDomain,
    который задаёт домен cookie
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить