Кэш для системных плагинов
Может, кто знает. Удастся-ли мне работать с wa()->getCache() из системного плагина или надо как в плагине доставки EMS вручную waSerializeCache инстанцировать и все такое? Хотелось бы, конечно, getCache() использовать, там же не только файловый кэш реализован...
Если никто не знает, вечером сам попробую. :)
3 ответа
wa()->getCache() - это не способ получить новый объект для кеширования в произвольный файл. Нельзя попросить у него "дай мне кеш вот такого-то типа". wa()->getCache() опирается на конфиги приложения. И по умолчанию, насколько я знаю, кеширование везде выключено (getCache вернёт false) и включается через настройки в wa-config.
Вызывайте конструктор new waSerializeCache(...), в чём проблема?
Там, где плагин будет работать, кэш точно включен. :) Включение кэша второе, что я делаю, после изменения настройки хэширования паролей. :)
wa()->getCache->get() и wa()->getCache->set() в системном плагине будут работать, если кэширование включено?
wa()->getCache() вернёт false, если текущее активное приложение не имеет кеширования. Поэтому в общем случае рассчитывать на него нельзя.
Если ваш плагин используется ровно на одном сайте, вы знаете вдоль и поперёк, что у вас где включено и выключено, используйте на здоровье. Возможно, лучше использовать wa('shop')->getCache() - на случай если активным приложением будет вдруг не магазин.
Но, честно говоря, я не понимаю, что вы пытаетесь сэкономить по сравнению с new waSerializeCache(...).