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

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

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

Синтаксис

$item->expiresAfter($time);

Пример

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

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Symfony\Contracts\Cache\CacheInterface; class CacheController extends AbstractController { public function index(CacheInterface $cache): Response { $item = $cache->getItem('article'); $item->set('hello'); $item->expiresAfter(3600); $cache->save($item); return new Response($item->get()); } } ?>

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

"hello"

Пример

Давайте передадим время жизни как объект DateInterval:

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Symfony\Contracts\Cache\CacheInterface; class CacheController extends AbstractController { public function index(CacheInterface $cache): Response { $item = $cache->getItem('article'); $item->set('abcde'); $item->expiresAfter(new \DateInterval('PT1H')); $cache->save($item); return new Response($item->get()); } } ?>

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

"abcde"

Пример

Давайте передадим null, чтобы элемент хранился бессрочно:

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Symfony\Contracts\Cache\CacheInterface; class CacheController extends AbstractController { public function index(CacheInterface $cache): Response { $item = $cache->getItem('user'); $item->set('abcde'); $item->expiresAfter(null); $cache->save($item); return new Response($item->get()); } } ?>

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

"abcde"

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

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