![]() |
Кто-нибудь использует что-нибудь подобное для своих сайтов? Давайте делиться реализациями, вот это я сегодня целый час писал (как долго... =).
файл templates.php: Код:
<? Код:
<? Теперь в основном файле мне достаточно подключить требуемый модуль, написать: Код:
insert_template( 'normal' ); Каждый шаблон должен начинаться так: Код:
$html_templates['имя шаблона'] = <<<HTML Код:
HTML;
Примеры этих конструкций выделены жирным в templates.txt Нравится? На этом будет построен новый движок oszone.net :) |
Плюсы и минусы в отношении дизайна более или менее ясны.
А как со скоростью работы таких конструкций дела будут обстоять? Этот форум и так не очень быстрый. Если уже что-то есть - давай потестим. (Отредактировал(а) vasketsov - 11:07 31-01-2002) |
vasketsov
это не для форума.... Форум BigMac хочет оставить прежней. Но если уж это будет использовать, то медленнее не будет -- такое впечатление что IkonBoard это первая программа её автора. Если смотреть на исходники, то это просто нечитабельная каша... И не быстрая.... На счёт тестов: на моей машине ( Целерон 600, 256 рам, частота шины 75, Апач 1.3.22 ПХП 4.1.0 ) приведённый пример всреднем выполняется 70 раз в секунду. Т.е. 70 * 60 * 60 * 24 = 6 048 000 посещений при полной загрузке сервера на базе моей машины. Хотя, конечно, реальные страницы будут раз в 3-5 помедленнее скорее всего. Как появятся более жизненые примеры, приведу результаты. Добавлено: я ошибся -- неправильно тесты проводил. 137 раз в секунду оно крутится. Добавлено: Статичесски хтмл того же размера выводится 806 раз. отсюда вывод: мой движок будет работать в 6 раз медленнее статического html... Добавлено: тут есть кто-нибудь пишущий на перл? Хочу посмотреть, как будет работать перловая реализация с аналогичными возможностями... Добавлено: пиковое значенеи для html -- 950, для моего двига 140...... нда. мне ещё есть над чем работать. Флудю я безбожно :), ща замечание схлопочу :) |
Насчет перла. Я у себя на машине (в локальной сети) поднял апач (1,3,22), у меня там только html с прибамбасами и перл. На перле я немножко не так делаю, я просто беру и вставляю полностью файл, не изменяя код. Получается, страница собирается из нескольких файлов+между ними что-то в скрипте добавляется. То есть, это не совсем шаблон, но работает быстро. А вот так, чтоб с переменными - не думаю, что будет медленнее, только это ж писать надо, а в PHP уже есть.
|
откровенно говоря.... я так подумал и понял что это чухня -- это называется PHP своими руками :) Т.е. всё что я написал в php уже есть! Причём намного хуже чем родная имплементация... Ну ладно пусть будет...
|
вообще в качестве шаблонов лучьше использовать XSL вот здесь затронут этот вопрос: http://forum.oszone.net/thread-54773.html
|
Ребят, а вы не слишком извращаетесь?
Конструкция конечно хороша, но зачем? На perl-e юзаю примерно такие шаблоны(допустим пустая хтмлка с формой поста): Код:
<html> Просто переменные заменяются s/\$var_name/$var_value/ или более динамично(но медленнее) s/\$(var_name)/$vars{$1}/ Комплексные s/\$var_name:([a-z0-9]),([a-z0-9]),([a-z0-9])\$/код_замены_со_вставкой_переменных($1,$2,$3,..)/, если более динамично, то в 2 замены(или поиск+замена) с промежуточной обработкой... Шаблоны в перле работают быстро - это все знают. Так зачем извращаться? 1 файл - 1 шаблон, а зачем пачку шаблонов в один файл? |
GoDleSS
ваша идея делает шаблон очень не гибки... и из-за этого при кординальной смене дизайна придется менять не только шаблон но и залезать в код, а это не хорошо! |
Vlad Drakula, согласен, как только крупные "блоки" меняют местами - лезем в код. С другой стороны отрабатывает почти мгновенно ;)
Каждому свое :) |
На дату первого поста гляньте. Этому топику четыре года. Наврняка в моём мировозрении что-то за это время поменялось, не находите?
|
ivank
вот и пришло время обновить, и изменить взгляды и подходы... GoDleSS Цитата:
я бы сказал что купить сервер по мощьнее будет дешевле... |
Vlad Drakula, это пока для себя. Но будем считать, что данное выссказывание подорвало меня на создание нормальной библиотеки.
|
GoDleSS
зачем создавать библиотеку когда можно обойтись одной стандартной функцией??? |
Время: 18:37. |
Время: 18:37.
© OSzone.net 2001-