Вроде бы всё правильно, но вот проблема.
Я этот класс вставляю в скрипт projects.php, оттуда я отсылаю данные в шаблон Smarty. Т.е. весь контент страницы находится в projects.tpl.
Что присваивать переменной $data? Откуда брать контент?
Покинул форум
Сообщений всего: 111
Дата рег-ции: Окт. 2009 Откуда: Казахстан, Алматы
Помог: 0 раз(а)
Капец, для кеша уже и целые классы пишут, скоро, наверно, CMS запустят
Поначалу вам буфер нужен был, теперь оказалось, что простой кеш на ФТП. А чем вас мой вариант не устроил? Всего несколько строк и наверняка работает куда быстрей, чем сей класс, я уже полгода так кеши пишу - всё отлично работает даже при очень высокой посещалке.
garvey
Отправлено: 11 Июня, 2010 - 23:29:54
Частый посетитель
Покинул форум
Сообщений всего: 528
Дата рег-ции: Май 2010 Откуда: Minsk
Покинул форум
Сообщений всего: 111
Дата рег-ции: Окт. 2009 Откуда: Казахстан, Алматы
Помог: 0 раз(а)
garvey пишет:
При чем здесь ФТП? Обычное кэширование страниц.
Ну как при чем? Кеш можно в БД как временные таблицы создать, можно в ОЗУ как буфер, а можно на ФТП (на винте сервера). А где по вашему кеш должен храниться - где-то там в интернете, что ли?
---
П.С. Страницы обычно не кешируют, кешируют отдельные блоки страницы во временной директории (папке) временного файла, который имеет определенное время жизни. Ну, например, можно на сутки или на час закешировать вывод блока Категорий сайта, чтоб их постоянно из базы не дергать и не обсчитывать логику, не обрабатывать массивы и т.д., а просто выводить готовый блок html, обновляя его раз в сутки, что значительно уменьшает нагрузку на сервер.
Покинул форум
Сообщений всего: 99
Дата рег-ции: Нояб. 2009 Откуда: Казахстан
Помог: 1 раз(а)
isle пишет:
теперь оказалось, что простой кеш на ФТП
Мне вот тоже интересно, что значит на ФТП? Вы имеете ввиду, на накопителе сервера, или все таки использую ФТП? Я бы Вам посоветовал выражаться более корректно, тогда как Вы говорите, на ФТП, люди подразумеваю сохранение данных через протокол передачи файлов (ФТП), со всем вытекающим.
----- "Им будет не просто, тем кто полагается на истину авторитета, вместо того чтобы полагаться на авторитет Истины"
Джеральд Месси, Египтолог
isle
Отправлено: 12 Июня, 2010 - 06:43:21
Гость
Покинул форум
Сообщений всего: 111
Дата рег-ции: Окт. 2009 Откуда: Казахстан, Алматы
Помог: 0 раз(а)
Joo пишет:
Мне вот тоже интересно, что значит на ФТП? Вы имеете ввиду, на накопителе сервера, или все таки использую ФТП? Я бы Вам посоветовал выражаться более корректно, тогда как Вы говорите, на ФТП, люди подразумеваю сохранение данных через протокол передачи файлов (ФТП), со всем вытекающим.
Я же уточнил с примером - "а можно на ФТП (на винте сервера)"
П.С. вы, наверно, уже спите а у нас уже петухи пропели... рассвет... скоро лягу на часок.
Joo
Отправлено: 12 Июня, 2010 - 06:50:22
Гость
Покинул форум
Сообщений всего: 99
Дата рег-ции: Нояб. 2009 Откуда: Казахстан
Помог: 1 раз(а)
isle пишет:
а можно на ФТП (на винте сервера)
Звучит, как "А можно на накопителе сервера используя протокол передачи файлов (ФТП), который подразумевает подключение, получение и передачу файлов используя специальный механизм"
Использовать в данном случае аббревиатуру ФТП вообще не уместно, даже с уточнением.
Перед применением создайте директорию 'cache'
Это самы простой вариант, от него уже можно плясать дальше усложняя и модифицируя
JustUserR
Отправлено: 13 Июня, 2010 - 13:29:55
Активный участник
Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009
Помог: 17 раз(а)
garvey пишет:
Вроде бы всё правильно, но вот проблема.
Я этот класс вставляю в скрипт projects.php, оттуда я отсылаю данные в шаблон Smarty. Т.е. весь контент страницы находится в projects.tpl.
Что присваивать переменной $data? Откуда брать контент?
Если у вас имеется шаблон страницы в специальном файле с подстановочными тегами - то необходимо считиывать этот файл поблочно в переменную и выполнять соответствующие значения подстановок - после чего все данные выести на экран и одновременно передать в класс кеширования
Можно также воспользоваться буферазицией - только в этом случае нужно разделить PHP-скрипт на отдельные секции вы воводу страницы из кеша и по генерации страницы и сохранению ее в кеш
----- Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
garvey
Отправлено: 13 Июня, 2010 - 16:58:47
Частый посетитель
Покинул форум
Сообщений всего: 528
Дата рег-ции: Май 2010 Откуда: Minsk
Помог: 3 раз(а)
Спасибо вам. Уже что-то получилось. Правда пока без шаблонов. Сейчас буду пробовать поблочно.
Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009
Помог: 17 раз(а)
garvey пишет:
Правда пока без шаблонов. Сейчас буду пробовать поблочно
В данном случае все зависит от конкретной структуры шаблона и методов работы с ним - если шаблон представляет собой набор подстановочных тегов или является XML-файлов то в таком случае замена происходит по следующему прниципу - этот файл разбирается поэлементно или поблочно с помощью парсера и в нем производятся соответствующеи замены и подстановки - причем если в шаблоне вызывается какие-то функции из API вашего PHP-скрипта то они только возвращают значения и ничего не выводят - поэтому в результате обработки вы получаете большую строковую переменную предназначающуюся для вывода на экран - и вы собственно выводите ее но заодно и сохраняете в кеш Если же ваш шаблон представляет собой PHP-скрипт то можно конечно воспользоваться буферазацией - но более полный способ это префильтрирование и обработка данного PHP-кода шаблона в том числе с проверкой на синтаксис и отсутствие автоматической передчи управления - это даст вам возмоэжность использовать не только свои но и любые внешние шаблоны без опасения что они сломают систему сайта
----- Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.