Обсуждение статьи о шаблонизаторах

Rammstein

PHPClub::News
_RVK_
и нельзя однозначно сказать что это плохо, а вот это хорошо.
Соглашусь.

Но всё же останусь при мнении, что внесение обращений к логике домена в шаблон столько же хорошо, как стихийная разработка, когда всё правильное оставляется до лучших времён.
 

Андрейка

Senior pomidor developer
Rammstein
а если шаблонизатор не поддерживает {php}, (пхпшные)объекты(как тип данных) и вызовы пхпшных функций - логика домена в шаблон не поместится?
 

Фанат

oncle terrible
Команда форума
_RVK_
зря ты так.
во-первых, не значительный, а весьма сомнительный недостаток.
во-вторых, Рамштайн совсем не про твою статью.
и в-третьих, он не понимает, что, с одной стороны, никто не будет специально напихивать логику приложения в смарти, а с другой - это ПРЕКРАСНО МОЖНО сделать и в случае с XSLT.
причём мотивация будет примерно та же самая - лень. "Зачем я буду отбирать только нужные данные в XML" - думает программист - "вывалю всё скопом, пусть шаблон сам выбирает, что показывать. Ему же больше свободы".
Он не понимает, что XSLT и смарти В ПРИНЦИПЕ РАВНЫ, во всём! Он наделяет XSLT мифическими достоинствами, а смарти - мичическими недостатками.
Вот чего он не понимает.
 

_RVK_

Новичок
не значительный, а весьма сомнительный недостаток
Опять же как приер WACT, где компоненты могут самостоятельно работать с БД.

Пример из моего опыта, плагин для смарти {mesage} который берет из сессии данные валидации, и решает что с ними делать, то есть посути работает в обход контроллера, реализуя логику присущую ему.

Здесь важно не переборщить. Тот же Фаулер в абзаще ниже того что привел Rammstein, говорит "Чаще, однако, код представления может обращаться к источнику данных непосредственно. Хотя такой вариант менее безупречен с теоретической точки зрения, в практическом отношении он нередко удобен и более целесообразен...."
 

Андрейка

Senior pomidor developer
Rammstein
ну дык без пхпшных функций же доменную логику в шаблон не вынесешь, не так ли? ты не ответил на этот вопрос
 

Rammstein

PHPClub::News
Андрейка
Я бы сказал, что не внесёшь в случае полной изоляции от PHP (XSLT процессор знает только исходный документ и таблицу стилей).
 

Gorynych

Посетитель PHP-Клуба
Андрейка логикой домена (Domain Layer) называют слой, отвечающий за бизнес-логику. От чего все еще больше запутывается (сначала экономим и говорим бизнес-логика, потому вообще скатываемся до транслитерации и, как результат, запутываемся что есть что).

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

Alexandre

PHPПенсионер
Как бы битрикс уродственен внутри не был, но все же их опыту чуть-чуть можно довериться: _http://www.bitrixsoft.ru/blog/rsv/1.php
+1
наступал на все эти грабли, отказался от XSLT именно из-за низкой производительности. Очень мало встречал верстальщиков, знающих и готовых работать с XSLT.
 

Андрейка

Senior pomidor developer
Gorynych
я понял, что это одно и тоже ) я не понял, что именно Rammstein вкладывает в это понятие... оказалось - исключительно чистый php код.. ну тогда да - бизнеслогику в xslt шаблон не внесешь из-за отсутствия там <xsl:php-exec>...

в какой момент обсуждение свелось к противопоставлению XSLT и Smarty?
та я вообще мыслю потерял на предыдущей странице :)
 

griha

Новичок
Автор оригинала: _RVK_
Опять же как приер WACT, где компоненты могут самостоятельно работать с БД.
Хотелось бы уточнить, что в родном WACT view никакие данные из модели не вытаскивает. _RVK_ ты, наверноее, имеешь в виду Limb Framework, в котором WACT значительно расширен. Вот там то, как раз при помощи тега <fetch> активные шаблоны сами вытаскивают данные из модели.
 

_RVK_

Новичок
griha
Я сталкивался с WACT года два назад (с WACT а не LIMB) и немного его копал. И насколько я помню там есть компоненты, для вывода, например таблиц. Сейчас нет желание копать еще раз, и вспоминать их название. Хотя, возможно, в чем-то я и ошибаюсь. Но я просто хочу сказать, что активные шаблоны вполне имеют право на существование.
 

griha

Новичок
Автор оригинала: _RVK_

Но я просто хочу сказать, что активные шаблоны вполне имеют право на существование.
С этим я с тобой полностью согласен. И Limb/Wact - это пример очень удачного использования активных шаблонов. При помощи определенных тэгов в шаблоне с легкостью можно выбрать данные, например из таблицы БД в виде итератора и тут же можно его декорировать и передать компоненту шаблона WACT.
 
Сверху