PHP: какие кто использует шаблонизаторы?

Werdna

Хочу без флуда получить максимальное количество мнений + претензии какие к шаблонизаторам.
Да, PHP, разумеется, сам себе шаблонизатор, но верстальщикам неудобно редактировать html — боятся код попортить.
Из того что я знаю
  • smarty
  • xslt

Оба — убийцы производительности. Второй — вдобавок ещё и верстается сложно, надо быть гуру xslt.
Прошу без флуда.

iakobi91

а не проще разделять логику верстки и остальную? А код внутри шаблона любой тупой дизайнер поймет. Смарти ни чуть не легче - теже условия, циклы и выводы переменных.

Werdna

В данном случае ты прав — чаще всего так и делают, выделяя верстку и дизайн. У меня вопрос в другом — что делают ещё.
Откуда этот вопрос? Я сделал вменяемую версию экстеншена шаблонизатора ctpp, сейчас хочу узнать насколько трудно будеь людям переходить, толкьо и всего.
Переходить от xslt — очень сложно, от plain php — очень просто. Смарти я вообще думал написать сначала конвертор, но потом офигел. Напишу если кому-то надо будет, но за балки. :)

SergeyVorobiev

Я использую всегда задержку буфера, и потом просто парсю все метки.... Это позволяет в одном файле и php код и метки шаблонов вставлять.. сложный код - можно в метки, простой код - оставить как есть... как сказали, реально современные верстальщики прекрасно поймут несложный программны код.. по-крайней мере отличат где там что примерно....
Да и про разработке (конкретно мне, моё мнение) это позволяет не парицца, создавая новые файлы шаблонов отдельно, да еще их парсить и обрабатывать...

kruzer25

Самописный, раньше шаблоны были очень некрасивыми и парсились регэкспами, сейчас шаблоны - на основе xml и парсятся XML parser-ом в объекты; скомпилированный объект шаблона сериализуется, после чего достаточно распаковать его и сказать exec.
ЗЫ: Это только у меня одного неприязнь к шаблонизаторам, которые парсят шаблоны в php-код, который затем тупо include-ится?

SCIF32

xslt
:grin: :grin: :grin:

NAIL

Оба — убийцы производительности

Почитай про REST.
Это я про xslt.
Суть в том что когда можно ты не грузишь проц для xslt трансформации а отправляешь клиенту xml+xslt и пусть его браузер парится.

kruzer25

Ага, и следить, чтобы в xml не оказались данные, которые нельзя отправлять клиенту... да ну нахуй :smirk:

Werdna

Почитай про REST.
Да знаю, но не все броузеры его поддерживают. И это неправильно заставлять делать клиента трансформацию.
Завтра продолжу развитие темы. Ждите! :)

iakobi91

а все нахрена шаблонизаторы нужны? Я мб не такой ацкий проггер, но все же понять смысл их использования не могу.

kruzer25

Чтобы отделить логику от представления :smirk:

iakobi91

боян)
это можно и без них

kruzer25

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

iakobi91

ну никто не мешает дизайнеу вставить в шаблон свой код. Исходники ему тоже видны. Это не довод

kruzer25

ну никто не мешает дизайнеу вставить в шаблон свой код
Смотря какой шаблонизатор ты используешь.

laki

Второй — вдобавок ещё и верстается сложно, надо быть гуру xslt.
блин помнится была тема, как ты же вроде кричал, что xslt гавно :grin:
ПС. а вообще меня всегда радовало как в xslt пробел верстается :grin:

Werdna

блин помнится была тема, как ты же вроде кричал, что xslt гавно :grin:
Убежденный противник xslt и по сей день.

laki

ну хз, а я всегда его фанатом был. ;)

slonishka

ну у тебя и посты в форуме хрен поймешь, о чем. :grin:

slonishka

хотя недавно тебя какой-то ананимус обскакал. в треде про цешарп.

laki

поясни

slonishka

ну просто ты обычно запятые не ставишь, поэтому бывает сложно понять, что ты хочешь сказать. =)

apl13

Возможно, запятая в xslt верстается еще сложнее пробела... :lam: :ooo:

Ivan2009

php_templates
очень быстрый
очень простой
я как-то открыл документацию по smarty (200 страниц!). что-то мне расхотелось с ним работать

slonishka

:grin: :grin:

stm7884696

сначала задержку буфера и парсинг меток - медленно, геморно, сложно создавать циклы.
потом php_templates - вложенные циклы - сущий ад, отказался через месяц.
сейчас smarty - просто, быстро, безпроблемно, много доп.возможностей, которые можно отключить для облегчения, понятный мануал на русском с примерами. минус - создание 2 объектов из одного шаблона на одной странице неполучается - конфликтуют области имен переменных. Но этот минус за 2 года работы на смарти ни разу не появлялся до вчерашнего дня :)
касательно скорости смарти - на проекте в > 100000 посещений в сутки шаблон обрабатывается максимум 10% от общего времени генерации страницы. Остальные 90 идут на работу с базой. Так что практика показывает, что из-за смарти проетк тормозить не будет. Если и будет, то только из-за базы.

Ivan2009

с циклами у меня проблем не было
а про скорость: php_templates - это dll, а не класс (как например smarty). поэтому и скорость у него значительно выше
имхо, smarty черезчер перегружен функционалом
впрочем каждый сам выбирает что ему удобней

Andr163

я набыдлокодил себе свой собственный шаблонизатор, который обладает ровно теми, функциями, что мне нужны

NAIL

А фишер со своим блицем таки рулит http://template-bench.iliakantor.ru/ :)
Оставить комментарий
Имя или ник:
Комментарий: