Russian TYPO3 community Форум больше не используется. Присоединяйтесь к каналу #community-ru в Slack for TYPO3 community  

Вернуться   Russian TYPO3 community > Тематические форумы > Разработка расширений / TYPO3 extension development

Ответ
 
Опции темы Опции просмотра
Старый 19.06.2012, 12:07   #1
dmartynenko
Senior Member
 
Аватар для dmartynenko
 
Регистрация: 20.07.2007
Адрес: Беларусь, Минск
Сообщений: 957
Отправить сообщение для dmartynenko с помощью ICQ
По умолчанию

Нет, никакой extbase не нужен. Вторая ссылка в вашем примере это как раз оно (обычные настроки и использование классов ядра). Только как кэшь используется БД. Если у вас полноценный выделенный сервер и достаточно ОЗУ, то лучше использовать что-то вроде memcached. На БД в TYPO3 и так нагрузки хватает.
dmartynenko вне форума   Ответить с цитированием
Старый 23.06.2012, 10:42   #2
Ивано
Guest
 
Сообщений: n/a
Smile

Цитата:
Сообщение от dmartynenko Посмотреть сообщение
Нет, никакой extbase не нужен. Вторая ссылка в вашем примере это как раз оно (обычные настроки и использование классов ядра). Только как кэшь используется БД. Если у вас полноценный выделенный сервер и достаточно ОЗУ, то лучше использовать что-то вроде memcached. На БД в TYPO3 и так нагрузки хватает.
Спасибо.
Хорошо - попробую и то и то...
  Ответить с цитированием
Старый 25.06.2012, 23:53   #3
Ивано
Guest
 
Сообщений: n/a
По умолчанию

В общем с выше описанным ничего не выходит...
Нашел еще ссылку:

что это за способ кэширования?
http://buzz.typo3.org/people/steffen...in-extensions/
http://wiki.typo3.org/Functions_for_t3lib_cache
  Ответить с цитированием
Старый 26.06.2012, 11:04   #4
dmartynenko
Senior Member
 
Аватар для dmartynenko
 
Регистрация: 20.07.2007
Адрес: Беларусь, Минск
Сообщений: 957
Отправить сообщение для dmartynenko с помощью ICQ
По умолчанию

Цитата:
Сообщение от Ивано Посмотреть сообщение
В общем с выше описанным ничего не выходит...
Нашел еще ссылку:

что это за способ кэширования?
http://buzz.typo3.org/people/steffen...in-extensions/
http://wiki.typo3.org/Functions_for_t3lib_cache
А что значит не выходит? Можете написать подробнее что вы сделали.
На вскидку:
1. Если у вас плагин типа USER, то содержимое закэшируется при первом обращении к нему и внутренняя логика уже не будет использоваться. В случае любой динамики обязательно должен быть USER_INT.
2. Может у вас отключено использование caching framework в настройках TYPO3. На сколько я помню по умолчанию он выключен.

По новым ссылкам.
cache_hash - таблица которая используется для внутреннего кэширования. Она и функции работы с ней существуют в ядре очень давно. Ее тоже можно использовать (пример в первой ссылке), но как по мне это не очень эффективно.
dmartynenko вне форума   Ответить с цитированием
Старый 02.07.2012, 00:26   #5
Ивано
Guest
 
Сообщений: n/a
Red face

Вот допусти стандартный класс, созданный через kickstarter:

PHP код:
require_once(PATH_tslib.'class.tslib_pibase.php');


/**
 * Plugin 'fwe' for the 'few' extension.
 *
 * @author    Иван <litovan@bk.ru>
 * @package    TYPO3
 * @subpackage    tx_few
 */
class tx_few_pi1 extends tslib_pibase {
    var 
$prefixId      'tx_few_pi1';        // Same as class name
    
var $scriptRelPath 'pi1/class.tx_few_pi1.php';    // Path to this script relative to the extension dir.
    
var $extKey        'few';    // The extension key.
    
var $pi_checkCHash true;
    
    
/**
     * The main method of the PlugIn
     *
     * @param    string        $content: The PlugIn content
     * @param    array        $conf: The PlugIn configuration
     * @return    The content that is displayed on the website
     */
    
function main($content$conf) {
        
$this->conf $conf;
        
$this->pi_setPiVarDefaults();
        
$this->pi_loadLL();
        
    
        
$content='
            <strong>This is a few paragraphs:</strong><br />
            <p>This is line 1</p>
            <p>This is line 2</p>
    
            <h3>This is a form:</h3>
            <form action="'
.$this->pi_getPageLink($GLOBALS['TSFE']->id).'" method="POST">
                <input type="text" name="'
.$this->prefixId.'[input_field]" value="'.htmlspecialchars($this->piVars['input_field']).'">
                <input type="submit" name="'
.$this->prefixId.'[submit_button]" value="'.htmlspecialchars($this->pi_getLL('submit_button_label')).'">
            </form>
            <br />
            <p>You can click here to '
.$this->pi_linkToPage('get to this page again',$GLOBALS['TSFE']->id).'</p>
        '
;
    
        return 
$this->pi_wrapInBaseClass($content);
    }
}



if (
defined('TYPO3_MODE') && $TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['ext/few/pi1/class.tx_few_pi1.php'])    {
    include_once(
$TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['ext/few/pi1/class.tx_few_pi1.php']);

Как в нем использовать функции кэширования встроенные в ядро на основе таблиц из примера первой ссылки?
  Ответить с цитированием
Старый 23.10.2012, 21:09   #6
Ивано
Guest
 
Сообщений: n/a
Exclamation

По прежнему актуально.

Самый простой "кэш" (не знаю можно ли это назвать кэшированием), который могу создать это следующий: есть собранные данные HTML-код - их записываю в файл с именем time(), кидаю его в папку typo3temp - и при следующем вызове скрипта, проверяю через if - если разница более 30 минут - то по новому нужно собрать HTML-код с запросом к БД.

Какой и как использовать API typo3 для подобных вещей (как на файлах, так и на БД - хотя данный вариант мне тоже не очень нравиться).
Есть ли простые примеры...

Memcache - так понимаю должен быть включен (установлен) на сервера?
И есть ли что нибудь - что похоже на Memcache - только в независимости от настроек и установок сервера?

Последний раз редактировалось Ивано; 23.10.2012 в 21:22
  Ответить с цитированием
Старый 23.10.2012, 21:29   #7
Ивано
Guest
 
Сообщений: n/a
Wink

Вот нашел ссылку на memcache - только на основе простой библиотеки...
http://raven.esiteq.com/2011/03/php-memcache/
  Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB code is Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 19:49.


Работает на vBulletin® версия 3.8.1.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot

Хостинг и техническая поддержка: TYPO3 Лаборатория