Помощь Как работает create_cache?

Тема в разделе "DLE", создана пользователем Parviz555, 6 июл 2011.

Информация :
Актуальная версия DataLife Engine 11.2
( Final Release v.11.2 | Скачать DataLife Engine | Скачать 11.2 demo )
Нужно ли обновляться | Как обновиться | Изменения в шаблонах
> Нет русских символов <
[Приватная тема DLE (Все подробности в ЛС к модератору раздела)]

Версии 11.1 и ниже - уязвимы!

Локализации | F.A.Q. | Внешний вид
Правила раздела | Правила форума
Обсуждение хайда карается баном!
В каждом сообщении указывайте версию DLE, которого они касаются!
Статус темы:
Закрыта.
Модераторы: killoff
  1. Parviz555

    Parviz555

    Регистр.:
    29 янв 2009
    Сообщения:
    160
    Симпатии:
    38
    Написал модуль следующего содержания:
    PHP:
    if( ! defined'DATALIFEENGINE' ) ) {
        die( 
    "Hacking attempt!" );
    }
    $topsongs dle_cache"topsongs"$config['skin'] );
    if( 
    $topsongs === false ) {
    тут код...
        
    $db->free();
        
    create_cache"topsongs"$topsongs$config['skin'] );
    }
    Подключил через файл шаблона функцией:
    {include file="engine/modules/topsongs.php"}
    Все работает, но решил проверить работает ли кэширование, дополнив код
    ....
    PHP:
    create_cache"topsongs"$topsongs$config['skin'] );
    }else{
    echo 
    'Взято с кеша';
    }
    В результате функция работает также как работала, то есть проверку на наличие кэша я так и не получил.
    Что делаю не так? или кэширование по другому устроено?
     
  2. Darkmind

    Darkmind SNMP maniac

    Регистр.:
    31 май 2006
    Сообщения:
    182
    Симпатии:
    74
    Сначала смайлик: :eek:

    Теперь по существу.
    1. Это ж откуда такой стиль проверок "функция(); } else {}"
    2. Документацию читать надо.

    PHP:
    // Для модулей есть чудесный API
    include ('engine/api/api.class.php');

    $cache $dle_api->load_from_cache "topsongs",  3600'text' );
    if( 
    $cache === false ) {
        
    // Кэш или старше 3600 секунд, или отсутствует
        // Дальше ставим нужный код, запихиваем контент в $content и создаём кэш
        
    $dle_api->save_to_cache "topsongs"$content );
    }
    else {
        
    // Кэш загрузился
        // Переменная $cache содержит string с нужным контентом
        
    var_dump($cache);
    }
     
    Parviz555 нравится это.
Статус темы:
Закрыта.