За последние 24 часа нас посетили 17807 программистов и 1679 роботов. Сейчас ищут 777 программистов ...

joomla 3 и кэш

Тема в разделе "Прочие вопросы по PHP", создана пользователем makklovskiy, 8 июн 2015.

  1. makklovskiy

    makklovskiy Новичок

    С нами с:
    8 июн 2015
    Сообщения:
    4
    Симпатии:
    0
    Есть такой компонент (пример)
    Код (PHP):
    1. <?php
    2. // Запрет прямого доступа.
    3. defined('_JEXEC') or die;
    4.  
    5. // Подключаем библиотеку modelitem Joomla.
    6. jimport('joomla.application.component.modelitem');
    7.  
    8. /**
    9.  * Модель сообщения компонента HelloWorld.
    10.  */
    11. class freegiftsModelfreegifts extends JModelItem
    12. {
    13.     /**
    14.      * Получаем сообщение.
    15.      *
    16.      * @return  string  Сообщение, которое отображается пользователю.
    17.      */
    18.     public function getItem()
    19.     {
    20.         return $this->HELLO();
    21.     }
    22.     
    23.     public function HELLO()
    24.     {
    25.            return 'Привет';
    26.            //тут куча кода и запросов к бд
    27.         }
    28. }
    Как кешировать данные функции HELLO(), с помощью JCache?
     
  2. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
  3. makklovskiy

    makklovskiy Новичок

    С нами с:
    8 июн 2015
    Сообщения:
    4
    Симпатии:
    0
    я её давно прочитал, но понимаю, как и где её приладить, если можно набросайте примерчик по данному примеру компонента, а не те абстрактные примеры что приводят в инете на сайтах документации?
     
  4. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.631
    Симпатии:
    425
    Адрес:
    РД, г. Махачкала.
  5. makklovskiy

    makklovskiy Новичок

    С нами с:
    8 июн 2015
    Сообщения:
    4
    Симпатии:
    0
    пример хорошо, но боюсь он засрёт мои 2 ГБ свободного пространства.

    про это я тоже читал, но реализовать не получается.

    застрял на этом
    Код (PHP):
    1. public function getItem()
    2.    {
    3.       $cache = JFactory::getCache('somegroup', ''); //подключаем класс для кеширования
    4.       if (!$somevariable = $cache->get('cacheId')) //если кеша нет
    5.        {
    6.            $somevariable =  $this->HELLO();
    7.            $cache->store($somevariable, 'cacheId'); //сохраняем в кеш
    8.            return  $somevariable;
    9.        } else {
    10.             return   //тут надо вывести
    11.        }
    12. }
    и как установить время каша, и как его удалять?
     
  6. makklovskiy

    makklovskiy Новичок

    С нами с:
    8 июн 2015
    Сообщения:
    4
    Симпатии:
    0
    Подскажите, как быть?