Метод setPrivate
Метод setPrivate класса Response
устанавливает заголовок Cache-Control в значение
private. Это означает, что ответ может быть
закэширован только браузером пользователя, но не
промежуточными прокси-серверами или CDN. Метод не
принимает параметров и возвращает объект Response,
что позволяет использовать его в цепочке вызовов.
Синтаксис
public function setPrivate(): static
Пример
Давайте создадим ответ и сделаем его приватным:
<?php
namespace AppController;
use SymfonyBundleFrameworkBundleControllerAbstractController;
use SymfonyComponentHttpFoundationResponse;
use SymfonyComponentRoutingAttributeRoute;
class ArticleController extends AbstractController
{
#[Route('/article', name: 'article_index')]
public function index(): Response
{
$res = new Response('hello');
$res->setPrivate();
return $res;
}
}
?>
В результате выполнения кода браузер получит заголовок:
Cache-Control: private
Пример
Давайте объединим приватное кэширование с временем жизни:
<?php
namespace AppController;
use SymfonyBundleFrameworkBundleControllerAbstractController;
use SymfonyComponentHttpFoundationResponse;
use SymfonyComponentRoutingAttributeRoute;
class ArticleController extends AbstractController
{
#[Route('/article', name: 'article_index')]
public function index(): Response
{
$res = new Response('hello');
$res->setPrivate();
$res->setMaxAge(3600);
return $res;
}
}
?>
Результат выполнения кода для заголовка кэширования:
Cache-Control: private, max-age=3600
Смотрите также
-
класс
Response,
который представляет HTTP-ответ -
метод
setPublic,
который разрешает публичное кэширование -
метод
setMaxAge,
который задаёт время жизни кэша -
метод
setSharedMaxAge,
который задаёт время жизни общего кэша