Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Буферизация вывода: насколько корректный подход?

Сообщения:  [1-5] 

 
 автор: BAHO   (05.08.2006 в 23:28)   письмо автору
 
   для: kramolnic   (05.08.2006 в 22:50)
 

попробуйте хотя бы на них посмотреть, изучить, потом скажете по другому....
Если для вас Смарти громоздок, выберите Xtemplate или что то схожее....
А эти парсеры порой больше служат для удобной работы дизайнера и программиста, работающих параллельно над одним проектом, а не вовсе для удобства всего одного (программера или дизайнера).... Так программер не лезет в дизайн, а дизайнер - в код, меньше щагсов запутаться и сделать что неработоспособным. Если вы делаете проект один, илиже в команде, где нет разграничения на программеров и дизайнеров, то можете использовать свой вариант....
Но для модификации дизайна или написания тех же скинов подойдёт больше парсер...

   
 
 автор: kramolnic   (05.08.2006 в 22:50)   письмо автору
 
   для: BobiKK   (20.07.2006 в 14:21)
 

Я и не пишу парсер. Смарти и иже с ними не годятся по причине их громоздкости...
Все, что мне надо - реализовать работу с простейшими шаблонами. А именно, есть множество скриптов-модулей и необходимо, чтобы результаты их работы выводились с одинаковым оформлением (т.е. в одном шаблоне). Я просто включаю буферизацию в начале каждого своего модуля, затем произвожу генерацию нужных данных. В конце я просто подключаю файл с HTML шаблоном и вывожу в него содержимое буфера. И вообще я не понимаю, зачем нужны все эти парсеры и т.п... чем мой подход хуже парсера? Если надо сделать изменяемый заголовок страницы (тэг TITLE), то просто вставляем в тело шаблона <?=$title;> , а в теле модуля присваиваем значение этой переменной... То же самое с чем угодно (напр., meta-тэги). В тело шаблона можно также встроить вызов каких-либо функций (например, чтобы показывать посетителю его IP-адрес) либо вставку различных блоков (чтобы, например, показывать последние сообщения на форуме или в новостях). Данный подход, возможно, не столь универсален (как парсеры), но зато нет никаких лишних затрат ресурсов сервера.
P.S. поправьте меня, если я заблуждаюсь... просто я не имел опыта работы с парсерами.

   
 
 автор: BobiKK   (20.07.2006 в 14:21)   письмо автору
 
   для: cheops   (20.07.2006 в 02:07)
 

А может быть всё-таки оптимальнее использовать уже готовые решения? Smarty, FastTemplate и т.д.
Ведь писать с нуля свой прасер дело утомительное

   
 
 автор: cheops   (20.07.2006 в 02:07)   письмо автору
 
   для: kramolnic   (20.07.2006 в 01:25)
 

Именно так обычно и поступают, если у вас не 8 Мб страницы, будет даже быстрее работать, так как страница отправляется цельным куском, а не кучей меклких порций.

   
 
 автор: kramolnic   (20.07.2006 в 01:25)   письмо автору
 
 

Долго мучался с тем, как лучше реализовать поддержку шаблонов на сайте, чтобы дизайн был отдельно, а код отдельно. Вариант с использованием файлов с шапкой и концевиком страницы, которые каждый скрипт сайта подключает при помощи require(), мне показался не достаточно удобным. Решил сделать так: сначала запускаем буферизацию вывода (ob_start();), затем идет код скрипта (модуля). И затем идет сохранение содержимого буфера в переменную $content. В конце каждого скрипта или модуля подключается файл шаблона, где полностью размечена вся страница. Туда выводится содержимое переменной $content..
Т.е. например шаблон может выглядеть вот так:
<html>
<head><title><?=$title;?></title></head>
<body>
<?=$content;?>
</body>
</html>
Возник вопрос: насколько такое решение надежно при высокой посещаемости сайта? Не сильно ли нагружает сервер сохранение довольно больших объемов текста в буфере и перенос данных в переменную? Данное решение мне показалось очень удобным, однако я не уверен, что это безопасно в плане надежности.

   

Сообщения:  [1-5] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования