Метод get класса CacheItem
Метод get класса CacheItem возвращает значение,
которое хранится в данном элементе кэша. Элемент кэша
создаётся или извлекается через метод getItem
класса CacheInterface. Если элемент не был найден
в кэше, метод get вернёт null.
Параметров метод не принимает.
Синтаксис
public function get(): mixed
Пример
Давайте сохраним строку в кэш и извлечём её через метод get:
<?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_key');
$item->set('abcde');
$cache->save($item);
$item = $cache->getItem('user_key');
$res = $item->get();
return new Response($res);
}
}
?>
Результат выполнения кода:
"abcde"
Пример
Давайте извлечём значение для ключа, которого нет в кэше:
<?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('missing_key');
$res = $item->get();
var_dump($res);
return new Response('done');
}
}
?>
Результат выполнения кода:
NULL
Пример
Давайте сохраним массив в кэш и извлечём его через метод get:
<?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('list_key');
$item->set(['a', 'b', 'c', 'd', 'e']);
$cache->save($item);
$item = $cache->getItem('list_key');
$res = $item->get();
return new Response(implode(', ', $res));
}
}
?>
Результат выполнения кода:
"a, b, c, d, e"