Покритикуйте шаблонизатор

1 23
mendel
На сайте с 06.03.2008
Offline
232
#21

эх..... а серч в своем репертуаре. ))))) ноль слов по теме но две страницы обсуждения а нужна ли вообще тема :)

snatch:
кстати, ваш движок без кэширования? В первом посте, вроде ничего про него не говорилось

шаблонизатор голенький - это видно если читать описание :)

Метод do_templ выполняет интерпретацию шаблона и возвращает результат. В отличии от старых версий выводит результат нужно самому. Так сделано потому, что некоторые классы наследующие шаблонизатор выводят html-заголовки и организуют кэширование.

т.е. здесь кэширования нет, но в движке частью которого он является кэш предусмотрен.

Шутку любишь над Фомой, так люби и над собой. (с) народ. Бесплатные списки читабельных(!) свободных доменов (http://burzhu.net/showthread.php?t=2976) (5L.com) Сайты, All inclusive. 5* (/ru/forum/962215)
Ayavryk
На сайте с 11.10.2003
Offline
209
#22
mendel:
две страницы обсуждения а нужна ли вообще тема :)

Дык это главный вопрос, касающийся любого шаблонизатора :)))))

Тынгыр, мынгыр, комсомол (http://erum.ru). Ехари, ехари, (жалобно) аяврик. /народная тунгусская песня/
S
На сайте с 12.11.2009
Offline
13
#23

mendel, не примите в обиду, но у вас где-то проскакивала фраза, что данный шаблонизатор вы решили писать после того, как в проектах вашей команды появилась необходимость отделять логику представления от собственно бизнес-логики и следовать какому-либо стандарту при разработках.

Так вот, если ваша команда начинает задумываться о следовании стандартам, то имхо, в качестве стандартов логично принимать действительно стандартизированные понятия от тех организаций, суть работы которых заключается именно в стандартизации процессов и методологий разработки, в данном случае - W3C

Поверьте, ваш код слоя представления, будет гораздо более переносимым, и независящем от нижних слоёв бизнес-логики, если вы не будете создавать свои внутренние стандарты, а пользовать как-бы стандартизированные рекомендации, например - трансформации.

Однако, следовать тупо стандарту, это не всегда оказывается оправданным с точки зрения требований к конкретному проекту, и в некоторых случаях, для удобства, действительно можно и нужно пользовать классическое понятие активных шаблонов (С), но в этом случае, лично моё мнение - использовать что-то, за чем стоит долгий срок разработки и активное комунити, например PHPTAL

вот только поэтому, обсуждение вашего движка и переросло в размышления - нужен ли он вам в действительности.

просто обратите внимание на общепризнанные "стандарты", и возможно, вам понравится )

mendel
На сайте с 06.03.2008
Offline
232
#24

В общем я понял. Стоит открыть эту тему на нулледе. Там за флуд банят :)

Ayavryk
На сайте с 11.10.2003
Offline
209
#25
mendel:
В общем я понял. Стоит открыть эту тему на нулледе. Там за флуд банят :)

Попробуйте, но сдается что в любом профильном комьюнити эта тема скатится в традиционный флуд, с заранее предопределенными ветками = XSLT/Smarty/PHP pure

mendel
На сайте с 06.03.2008
Offline
232
#26

Ну на нулледе за флуд банят так что раньше на нем мне много советов дали которые я в этой версии учел.на продомейнере тоже советы были.. на серче как всегда :)

G
На сайте с 05.12.2009
Offline
19
#27
Покритикуйте шаблонизатор
Написал новый движок шаблонизатора.

Здравствуйте, я верстал сайты год вместе с динамкой, есть критика.

1)


{if=people.woman}Женщина{/if=people.woman}
{if!=people.woman}Мужчина{/if!=people.woman}

Прошу !!! 🙅, не используйте никакой логики в шаблонах. Любая логика подобна php вставкам. Она резко уменьшает скорость производства. Задача верстальщика не думать, что будет генерировать и как, он должен всего изьявить желание это сделать, а думать что должно и как должно должна программная логика. Еще ращ верстальщик должен только настроить внешний вид а будет это выводиться или нет и когда и почему ему вообще не волнует.

2)

Ваш шаблонизатор очень похож на смарти, почему бы вам не воспользоваться им?

Его же вполне можно и дописать до ваших нужд. Синтаксис чрезвычайно похож.

"Программист - маленький винтик хорошо отлаженного механизма" © Microsoft, экскурсионные туры (http://lira-servis.ru/) в Санкт-Петербург
mendel
На сайте с 06.03.2008
Offline
232
#28
kil:
Несмотря на то, что я вряд ли когда-нибудь пойму фишку шаблонизаторов, хотелось бы поинтересоваться насчет быстродействия.
Хотя бы приблизительный порядок времени обработки типового шаблона.

Таки выделил полчаса на тесты.

Технология теста:

грузим модуль
забиваем данные в модуль
засекаем время
в цикле тысячу раз выполняем шаблон
выводим время деленное на тысячу

такой подход показывает только время парсинга и не учитывает время подключения файла шаблонизатора (один файл), время выполнения методов передачи данных в шаблон, не учитывает время на собственно вывод данных в браузер и т.п.

Считаю что методы вида:

	public function set($name,$data)
{
// Если имя переменной не body то добавим ее в массив
if($name<>'body') $this->var_array[$name]=$data;
}

не стоят оптимизации и оценки скорости их выполнения.

Результаты теста:

Шаблон "сферический конь в вакууме" из двух файлов общим размером в 380 байт с одним массивом внутри, парочкой if и переменных выполнялся 0,001сек

Реальный шаблон, довольно кривой (верстка таблицами, куча мусора) количество файлов - 9 шт (инклюды, вложенные инклюды, хуки и тп) - все выводятся на странице. общий размер файлов 10кб. два хука, два массива, несколько if пару переменных. Не самый сложный шаблон, но и не самый простой. В общем "типичный" так сказать.

Результат - 0.0043сек

Смотрел я в код - там куча мест для оптимизации - уверен что можно раза в два скорость поднять

свободно, но я не буду этого делать в ближайшем времени. Глупо заниматься нанооптимизацией - сильно нагруженный шаблон явно будет парсится быстрее чем у большинства пользователей будет до него пинг :)

1 23

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий