Кэш Symfony не работает с классом / объектом - PullRequest
0 голосов
/ 07 июня 2018

Я использую некоторую библиотеку php и генерирую элемент класса

 $elnew = new LibClass();

Я хочу сохранить эту переменную в кеше.Если я сделаю так, то

$elem = $cache->getItem($ig_name);
if (!$elem->isHit()) {
  $elem->set($elnew);
  $cache->save($ig);
}

$elem->isHit() всегда ложно.Я проверил, как кеш работает со строкой - все в порядке.Также я не могу сериализировать / десериализировать этот объект, потому что он говорит

Сериализация 'Closure' не разрешена

и нет способа изменить LibClass

Как сохранить $elnew в кеше?Есть ли варианты с компонентами Symfony?Или, может быть, другие библиотеки могут мне помочь?

1 Ответ

0 голосов
/ 07 июня 2018

Сериализация 'Closure' не разрешена

Вы можете использовать библиотеку PHP SuperClosure , чтобы избавиться от этого.

Также выможно использовать другие хранилища памяти, такие как Redis или Memcache для кэширования ваших объектов.Смотрите этот решенный вопрос stackoverflow .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...