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

Метод set класса CacheItem

Метод set класса CacheItem устанавливает значение для элемента кэша. Первым параметром передаётся значение, которое необходимо сохранить. Метод возвращает сам объект CacheItem, что позволяет использовать цепочку вызовов для настройки других параметров, например, времени жизни.

Синтаксис

$item->set(value)

Пример

Давайте создадим элемент кэша, установим ему значение и сохраним в кэш:

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Attribute\Route; use Symfony\Contracts\Cache\CacheInterface; class ArticleController extends AbstractController { #[Route('/article', name: 'article_index')] public function index(CacheInterface $cache): Response { $item = $cache->getItem('article_key'); $item->set('article'); $cache->save($item); return new Response($item->get()); } } ?>

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

article

Пример

Давайте установим значение и сразу зададим время жизни элемента кэша:

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Attribute\Route; use Symfony\Contracts\Cache\CacheInterface; class ArticleController extends AbstractController { #[Route('/article', name: 'article_index')] public function index(CacheInterface $cache): Response { $item = $cache->getItem('article_key'); $item->set('hello')->expiresAfter(3600); $cache->save($item); return new Response($item->get()); } } ?>

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

hello

Пример

Давайте сохраним в кэш массив значений:

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Attribute\Route; use Symfony\Contracts\Cache\CacheInterface; class ArticleController extends AbstractController { #[Route('/article', name: 'article_index')] public function index(CacheInterface $cache): Response { $item = $cache->getItem('article_list'); $item->set(['article 1', 'article 2', 'article 3']); $cache->save($item); return new Response(implode(', ', $item->get())); } } ?>

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

article 1, article 2, article 3

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

  • класс CacheItem,
    который представляет элемент кэша
  • метод get,
    который возвращает значение элемента кэша
  • метод save,
    который сохраняет элемент кэша
  • метод expiresAfter,
    который задаёт время жизни элемента кэша
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить