Разные шаблонизаторы. Плюсы и минусы.

hermit_refined

Отшельник
AP
ох, вот были бы вы опытным разработчиком, понимали и знали бы сами, о чём говорите - цены бы вашим аргументам не было.
а так - выходит пустая болтовня, которая только дискредитирует xslt ;-)
 

Sender

Новичок
hermit_refined
Фанат
Рекомендую почитать...
Практика использования технологии XSLT в приложениях php5.
Автор: Климов Евгений

Там есть такая глава
Вызов PHP кода (callbacks) в XSLT шаблоне

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

Фанат

oncle terrible
Команда форума
Спасибо, если я захочу когда-нибудь писать на этом уродливом недоязыке, то обязательно прочту эту книжку.
А пока мне нравится использовать в работе что-то больше похожее на язык программирования.
 

Sender

Новичок
Фанат
это не книга, а доклад с phpConf2006...
XSLT не язык программирования, или эта гневная тирада о php5? :)
 

Фанат

oncle terrible
Команда форума
Вот именно, что не язык. но при этом используется для программирования. Всякими мазохистами.
Я же предпочитаю нормальный язык всяким уродцам.
Что же до доклада, то за PHP callbacks из шаблонизатора (если уж он написан на недоязыке) я бы убил бы.

-~{}~ 31.01.07 10:04:

Трагедия языка XSLT - в самообмане, которым занимались его создатели. Вина их ещё более сурова потому, что у них перед глазами был печальный пример - cold fusion. Там тоже решили, что если заключить конструкции языка в угловые скобочки, то пресловутым "дизайнерам" станет проще писать программы.

В результате сделали кривой, косой и хромой ЯЗЫК ПРОГРАММИРОВАНИЯ, назвали его стыдливо словом "трансформация", и заставляют несчастных верстальщиков извращаться, пытаясь написать на нем что-то осмысленное.
 

Sender

Новичок
Фанат
я видел и смарти использовали как язык программирования. напрямую пихали туда php вставки. тоже убить можно.
то, что-кто-где использует зависит не от технологии, а от человека

XSLT вполне удобен, лично для меня он гораздо удобнее смарти. повторюсь: "это вопрос привычки и предвзятости. научи человека сразу xslt без всяких смарти и он уже будет на смарти потом смотреть с отвращением", как и наоборот. но как ни крути XML/XSLT связка более пластична. можно без проблем с HTML перейти на Flash допустим, именно потому что в основе лежит XML

-~{}~ 31.01.07 12:19:

Фанат
http://company.yandex.ru/inside/job/xslcoder.xml
не думаю что они ищут извращенца ( в смысле который будет извращаться)...
 

Фанат

oncle terrible
Команда форума
напрямую пихали туда php вставки. тоже убить можно.
правильно. я дам тебе парабеллум.
я видел и смарти использовали как язык программирования.
правильно. потому что это язык и есть. интерпретируемый язык программирования, написанный на интерпретируемом языке программирования. Редкостное извращение. У его авторов ситуация другая, гораздо более простительная. Сначала они написали простой шаблонный движок, а потом начали р а с ш и р я т ь его функциональность. А за деревьями леса не видно. Куда хуже ситуация у авторов XSLT - они планировали всё с нуля.
можно без проблем с HTML перейти на Flash допустим, именно потому что в основе лежит XML
ну, ты совсем запутался. ну ничего, для верстальщика - не программиста - это простительно =)

Я тоже не спорю, что выбор шаблонизатора - дело вкуса. Другое дело, что после пыха конструкции XSLT выглядят уродливыми, а возможности - убогими.

И не надо мне рассказывать, что action script похож на xslt
Это для тебя XML - Основа Всего Сущего. И любой проект, где он применяется, похож на другие.
Для программиста же этот CSV-переросток - всего лишь ещё один формат данных, которые проще распарсить регом, чем городить деревья.

-~{}~ 31.01.07 10:26:

Sender
Чё ты мне всё время всякие внешние ссылки пихаешь? Своих аргументов нету? Не берись тогда спорить.
Да, в Яндексе как раз ищут. И вакансия висит давно, между прочим. что-то не находится много желающих/способных.
Причина, по которой Яндекс ищет верстальщика, и возможности XSLT - это разные вещи.
 

Sender

Новичок
Фанат
о боже :) я как раз программист :) и ничего я не запутался :) а вот ты похоже не выспался :) может я конечно вчера родился...

по яндексу... не думаю что они бы стали использовать то, что неудобно

Для программиста же этот CSV-переросток - всего лишь ещё один формат данных, которые проще распарсить регом, чем городить деревья.
гы-гы )) xml парсить регами? а DomDocument для чего делали?


про флеш.
из XML флешер данные извлечет без проблем, тот же DomDocument и все дела, будет делать с ними что хочет. А Смарти ему чем поможет? сможет ли он предоставить данные в том виде чтобы флешер извлек их без проблем?

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


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

Фанат

oncle terrible
Команда форума
из XML флешер данные извлечет без проблем, тот же DomDocument и все дела, будет делать с ними что хочет. А Смарти ему чем поможет? сможет ли он предоставить данные в том виде чтобы флешер извлек их без проблем?
Не понял. В чем сложность выдать тот же XML с помощью смарти. Вопрос риторический.
единственный минус XSLT - скорость
что-то незаметно, чтобы с единственным минусом (и кучей предолжений по его исправлению) и столькими плюсами XSLT занял сильно большую нишу.
дальше высказываться прекращаю
вот это правильно.
 

AmdY

Пью пиво
Команда форума
всё зависит от кривизны рук. но вопрос стоит не о том, что легче програмеру, а что удобнее дизайнеру и верстальщику.
 

Syava

Новичок
2Фанат : да пробовал на XML. Ввел структуры и парсил через Dom. Согласен, довольно гибко и широкие возможности, но медленно и не читабельно. XML надо использовать в симбиозе, как пока не знаю ...

2Sender : верстать шаблоны должен верстальщик, а для него валидность - это бич. Для программера это конечно не проблема (постоянно в этих рамках сидим).

Замечательно было бы, если в верстку внести структуры (понятные для верстальщика) и по этим структурам уже забивалась информация без предварительной инициализации.
 

AmdY

Пью пиво
Команда форума
Syava
Замечательно было бы, если в верстку внести структуры (понятные для верстальщика) и по этим структурам уже забивалась информация без предварительной инициализации..
------------------------------------------------------------------------
смотри xs2.ru

Кстати, причём валидность до шаблонизатора?
 

Фанат

oncle terrible
Команда форума
Syava
По-моему, ты говоришь несколько противоположное тому, что говорил в прошлый раз.
Тебе бы надо определиться сначала.
то "медленно и нечитабельно", то - "в последнее время я склоняюсь к XML". почему склоняешься-то, если медленно и нечитабельно?
Замечательно было бы, если в верстку внести структуры (понятные для верстальщика) и по этим структурам уже забивалась информация без предварительной инициализации.
здесь вообще непонятно. что за структуры? какова ключевая особенность "понятных для верстальщика структур", отличающая их от всех прочих?
что значит "без предварительной инициализации"? А откуда они браться будут?
 

Syava

Новичок
Автор оригинала: Фанат
По-моему, ты говоришь несколько противоположное тому, что говорил в прошлый раз.
Тебе бы надо определиться сначала.
то "медленно и нечитабельно", то - "в последнее время я склоняюсь к XML". почему склоняешься-то, если медленно и нечитабельно?
Я говорю про то , что пробовал делать шаблонный процессор полностью на XML, что и выявило недостатки. А склоняюсь к XML (хотя только в форме структур вывода данных), потому что не нужно писать собственных разборщиков тескта.

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

Фанат

oncle terrible
Команда форума
Я говорю про то , что пробовал делать шаблонный процессор полностью на XML, что и выявило недостатки. А склоняюсь к XML (хотя только в форме структур вывода данных), потому что не нужно писать собственных разборщиков тескта.
Так. Ещё раз, и помедленнее.
Если я правильно тебя понял, то
1. по теме топика: Связку XML+XSLT ты попробовал, но она тебе не понравилась.
2. Не по теме топика: как формат передачи данных ты склоняешься к XML.
Так?
В этом и задача, чтобы синтезировать такие условные структуры вывода, которые могут элементарно вписываться в верстку и не требовать инициализации данных из вне и сами порождали данные.
ага, я понял.
могу даже привести пример такой структуры:
<!-- здесь из базы выводятся в три колонки, данные о которых я сейчас подумал -->
 

Фанат

oncle terrible
Команда форума
Не данные добывать, а вызывать контроллер, который добывает данные. Называется "активный шаблон". Отличается от пассивного ничем. Те же фрукты, только в профиль.
 

Syava

Новичок
Автор оригинала: Фанат
Так. Ещё раз, и помедленнее.
Если я правильно тебя понял, то
1. по теме топика: Связку XML+XSLT ты попробовал, но она тебе не понравилась.
2. Не по теме топика: как формат передачи данных ты склоняешься к XML.
Так?
Разные шаблонизаторы. Плюсы и минусы. - топик, а XML+XSLT - это вариант.

1. в чистом виде не понравилась
2. скорее не формат передачи данных, потому что опять возвращаемся к XML+XSLT или просто к XML, а структура разметки в формате XML. И опять же, не обязательно.

ага, я понял.
могу даже привести пример такой структуры:
<!-- здесь из базы выводятся в три колонки, данные о которых я сейчас подумал -->
Не много в расширенной форме это было в первых попытках. Но для этого нужно определить функции для вывода, и их придется переписывать под каждый проект. А если фразу "<!-- здесь из базы выводятся в три колонки, данные о которых я сейчас подумал -->" преобразовать в более абстрактную форму, то можно получить порождение данных от структуры разметки.

Весь вопрос в степени абстракции и правильном выборе базисных структур.

-~{}~ 31.01.07 12:45:

Автор оригинала: AmdY
Фанат, примеры смотри http://www.solutecs.com/online/index/ru.htm
все данные можно добывать в шаблонах. стёбно.
Ты смотрел админку? а там не нашел возможности изменения шаблонов, они есть там?
 
Сверху