Кэш для системных плагинов

Может, кто знает. Удастся-ли мне работать с wa()->getCache() из системного плагина или надо как в плагине доставки EMS вручную waSerializeCache инстанцировать и все такое? Хотелось бы, конечно, getCache() использовать, там же не только файловый кэш реализован...

Если никто не знает, вечером сам попробую. :)

3 ответа

  • 1
    Леонид Вакуленко Webasyst 25 февраля 2015 10:03 #

    wa()->getCache() - это не способ получить новый объект для кеширования в произвольный файл. Нельзя попросить у него "дай мне кеш вот такого-то типа". wa()->getCache() опирается на конфиги приложения. И по умолчанию, насколько я знаю, кеширование везде выключено (getCache вернёт false) и включается через настройки в wa-config.

    Вызывайте конструктор new waSerializeCache(...), в чём проблема?

    • +1

      Там, где плагин будет работать, кэш точно включен. :) Включение кэша второе, что я делаю, после изменения настройки хэширования паролей. :)

      wa()->getCache->get() и wa()->getCache->set() в системном плагине будут работать, если кэширование включено?

      • +1
        Леонид Вакуленко Леонид Вакуленко Webasyst 26 февраля 2015 04:57 #

        wa()->getCache() вернёт false, если текущее активное приложение не имеет кеширования. Поэтому в общем случае рассчитывать на него нельзя.

        Если ваш плагин используется ровно на одном сайте, вы знаете вдоль и поперёк, что у вас где включено и выключено, используйте на здоровье. Возможно, лучше использовать wa('shop')->getCache() - на случай если активным приложением будет вдруг не магазин.

        Но, честно говоря, я не понимаю, что вы пытаетесь сэкономить по сравнению с new waSerializeCache(...).

Добавить ответ

Чтобы добавить комментарий, зарегистрируйтесь или войдите