Exile
Администратор
Доброго времени суток.
Новостей о новой версии не было достаточно давно, но ее разработка активно идет. Сегодня хотелось бы поделиться и дать первый взгляд на одно из многих изменений, которые будут в новой версии, а именно показать конкретные примеры кода и дать некоторые объяснения по нашей новой системе кеширования.
Новая система кеширования основана (как и большинство остальных вещей в новой версии движка) не на самодельном велосипеде, а на одной из популярных библиотек - Doctrine Cache. Используя ее, у нас есть возможность реализовать поддержку большего количества систем кеширования, чем это у нас было реализовано ранее (файловый кеш, APC, CacheCache, Couchbase, Memcache, Memcached, Redis, Riak, SQLite3, Void, XCache, ZendData и т.п.). Большое преимущество для разработчиков и тех пользователей, которые пишут моды - универсальность. Какой бы тип кеширования не был указан в конфигурации - использование кеша и его поведение будет всегда одинаковым.
Ну а теперь непосредственно к примерам. Для начала, мы подключаем компонент DI (Dependency Injection, который нужен нам для возможности подгрузки переписанных модулей движка) и само кеширование:
После этого, мы можем использовать сам кеш:
В данном примере мы проверяем наличие кеша
Разумеется это не все возможности новой системы кеширования. Она еще будет дополняться, например, появится возможность установки значения кеша с использованием callback-функции и т.п., а значит в приведенном синтаксисе возможен ряд изменений. Но некоторое представление об уровне изменений в движке вы можете получить. А кому интересно больше - вот коммит на замену старой системы кеширования на новую, с объемом изменений вы можете ознакомиться самостоятельно:
Животрепещущий вопрос большинства - когда же выйдет новая версия? Тогда, когда будет завершен процесс переноса движка на "новые рельсы". Очень надеемся, что это произойдет в ближайшее время. А пока что интересующиеся могут следить за ходом разработки .
Спасибо за внимание.
Новостей о новой версии не было достаточно давно, но ее разработка активно идет. Сегодня хотелось бы поделиться и дать первый взгляд на одно из многих изменений, которые будут в новой версии, а именно показать конкретные примеры кода и дать некоторые объяснения по нашей новой системе кеширования.
Новая система кеширования основана (как и большинство остальных вещей в новой версии движка) не на самодельном велосипеде, а на одной из популярных библиотек - Doctrine Cache. Используя ее, у нас есть возможность реализовать поддержку большего количества систем кеширования, чем это у нас было реализовано ранее (файловый кеш, APC, CacheCache, Couchbase, Memcache, Memcached, Redis, Riak, SQLite3, Void, XCache, ZendData и т.п.). Большое преимущество для разработчиков и тех пользователей, которые пишут моды - универсальность. Какой бы тип кеширования не был указан в конфигурации - использование кеша и его поведение будет всегда одинаковым.
Ну а теперь непосредственно к примерам. Для начала, мы подключаем компонент DI (Dependency Injection, который нужен нам для возможности подгрузки переписанных модулей движка) и само кеширование:
PHP:
/** @var \TorrentPier\Di $di */
$di = \TorrentPier\Di::getInstance();
/** @var \TorrentPier\Cache\Adapter $cache */
$cache = $di->cache;
PHP:
if (!$cache->has('secret')) {
$data = 'some data';
$cache->set('secret', $data, 60);
}
$cached_data = $cache->get('secret');
secret
, в случае если его нет - мы устанавливаем его со временем жизни в 60 секунд, ну а после этого присваиваем переменной значение кеша (попутно получая его). Синтаксис крайне простой и незамысловатый, а в случае использования IDE для написания кода, например PHPstorm от JetBrains, у вас будут еще и подсказки по возможным методам:Разумеется это не все возможности новой системы кеширования. Она еще будет дополняться, например, появится возможность установки значения кеша с использованием callback-функции и т.п., а значит в приведенном синтаксисе возможен ряд изменений. Но некоторое представление об уровне изменений в движке вы можете получить. А кому интересно больше - вот коммит на замену старой системы кеширования на новую, с объемом изменений вы можете ознакомиться самостоятельно:
Животрепещущий вопрос большинства - когда же выйдет новая версия? Тогда, когда будет завершен процесс переноса движка на "новые рельсы". Очень надеемся, что это произойдет в ближайшее время. А пока что интересующиеся могут следить за ходом разработки .
Спасибо за внимание.