сторонник php_templates / blitz стоит в сторонке и курит. в его голове крутится мысль о том, что главное чтобы разработчику было удобно и проект работал как положено, а blitz он использует или смарти не так уж и важно :)
Я бы, с удовольствием, но, к сожелению, здесь опубликовать не могу из-за кармы — люблю поспорить ;)
Может быть я какнидь опубликую статейку в блоге и выложу сюда ссылку, я думаю кол-во приверженцев возрастет в разы :)
Вообще XSLT обаладет инетересной чертой — стоит пглядеть на него — как какжется что он какой-то «угловатый» и ограниченный, но стоит его попробовать на реальном проекте, попробывать всю мощь XPath и осей — как бесконечно в него влюбляешься. Есть у него главная черта, которой очень мало в других языках ( не в обиду будет никому сказано ) — это его лаконичность.
Вот люблю я лаконичные языки вроде регспов и xslt, хотя иногда конечно эта лаконичность заставляет понапрягать мозг — ну дак так даже интереснее, тем более что всеж таки большинство шаттных проблем решаются вполне без напрягов, да и большинство шаблонизаторов поддерживают вызов процедур внешнего языка, если уж вообще никак.
это и есть причина споров. хотите отстоять свою точку зрения вам по последней ссылке. И я не говорю что те или иные плохие, я говорю: «как правило», то бишь подавляющее большинство
По-моему, очень даже передергивает ;)
Я так понимаю, упрек на тему «шаблонизатора» — это в мою сторону камешек. Только человек не привел ответ — как был PHP шаблонизатором — так и оставил в себе все функции «шаблонизатора». Ибо встраивается в HTML и позволяет в себя «встраивать».
Чесно говоря не вижу проблем никаких. Лично я использую symfony и нативные шаблоны. У меня полное управление кешированием и все что мне нужно. Верстальщик разобрался с шаблонным синтаксисом за пару минут.
Между прочим, цепочки вызовов методов не есть хорошо в отображении. Как решение, лучше будет создать класс например productOrder и добавить туда необходимые для отображения методы: {$productOrder->getUserFirstName()}
А я просто начинал работать с XSLT, но не как с шаблонизатором.
А когда дошел до его использования шаблонизатором, очень даже понравилось удобство использования. А когда пришлось и с другими шаблонизаторами разбираться, еще больше понравилось удобство XSLT :) Верить/не верить, я об этом особо не парюсь, потому как в последнее время с ним работать не приходится, поэтому в данный момент он мне интересен просто как язык преобразований, а не как шаблонизатор. Иногда на нем прямо очень красивые решения можно написать, от создания которых получаешь удовольствие.
Вот не таким уж и хорошим, не надо совсем идеализировать :) Так, например, поблочно кэшировать (т.е. занести в строковую переменную) без гемора (eval'а или ob_start) не получится. Да и вседозволенность для шаблонизатора не плюс.
Но так как в XSLT мы пока только верим, то лучше PHP в некоторых случаях (пока) конечно нет. Да и то, если грамотно (по MVC) это делать.
Сам подход — использовать $block .=… — ущербный (и echo/print туда же). Для темплейт (где html кода обычно больше чем управляющих комманд) в php есть альтернативный синтаксис:
к тому что <?=$record['text']?> тоже самое что и <? echo $record['text'];?> а то что вы говорите про ущербность означает что вы не понимаете проблематики буферизации вывода
вы не внимательный читатель. я не сравниваю (а что нужно сравнительный анализ сделать технологий и решений?) я рассказываю что на эту тему всегда есть люди, готовые поспорить и привожу топ причин для споров.
Я не предлогал сравнивать, а пытался сказать, что есть одна большая причина спора, то, что не различают шаблонизаторы и view
пришлось писать много текста, но зато есть возможность попиарить своё начинание ;) amdy.su/?p=84
Вы так и не успокоились :)
Результаты голосований некорректны, по многим причинам. О некоторых из них я имхо промолчу.
Я даже спорить не буду. Этап споров по шаблонизаторах (в php) я прошел лет 5 назад. Даже пользовался ими, и даже писал. ;)
Кто как хочет так и заблуждается :)
Я еще раз повторю, верить «этому» голосованию нельзя ;)
нехорошо вы говорите.
С одной стороны говорите свое мнение, а с другой стороны не хотите аргументировать. Вы поймите, что для зрителя этой странички вы всеголиш зеленый квалратик (ну я индус с перьями, например), так вот если делаете утверждение — проявляйте уважение и аргументируйте и не смайлами пожалуйста.
это голосование показывает степень интереса к шаблонизаторам на хабра сообществе и в такойм констексте ИМХО оно верно
Такие споры в среде PHP-кодеров возникают из-за того, что большинство спорящих кроме PHP ничего не видели. А PHP-таки ужос и приучает к раздолбайству, если с него начинать и им же заканчивать.
Очень даже приучает. Люди начавшие свой программистский путь с паскаля в большинстве своём пишут более качественный и красивый код чем те, кто начал с PHP+HTML. Люди начавшие с Java и прошедшие через JSTL смотрят на все эти споры как на ссоры в детской песочнице, ибо все враждующие стороны, в большинстве случаев, пишут какой-то тупак.
так правильно, дело не в языке, а в том, что их никто не обучает писать красивый код.
Jav’истов приучает писать красивый код среда разработки, а не сам язык Java. PHP-исты пишущие, например, в Eclipse/ZendStudio тоже будут иметь достаточно красивый код.
вот вы очень хорошо сказали, что среда разработки стимулирует писать тот или иной код. Среди пхп программистов многие хвастаются например тем, что пишут в блокноте, ИМХО это недостаток. Недавно Нетбинс (родная IDE Java) анонсировала поддержку PHP не уверен что у них там лучше чем у зенд, но намерен проверить ведь круче чем в NetBeans IDE нигде нет возможностей для рефакторинга. www.netbeans.org/features/php/index.html
Блять. Опять этот мифический дизайнер. В фотошопе он теги расставляет.
Ты сначала узнай, что такое дизайнер, а потом рассуждай, что ему хлопоты доставляет.
=) улыбнуло. я уж представил просто такой средне статистический высоконагруженный проект, который делают экстраспецы:
первое: Наш проЙЭкт настолько HILoad, что мы реально замарачиваемся и меняем все принты на эхи, и никаких контенинаций!!! не дай бохИ! ведь все нужно через запятую передать в эхи-это жутко принципиально!
второе: интерфейсы для лохов, их запрещено использовать по идеалогическим выскоскоростным идеалам! Вот дайте нам множественное наследование и обязательно оператор goto тогда мы покажем вам супер пупер мега оптимизацию!
третье: нам обязательно нужен Дизайнер и он будет работать с шаблонизатором, но поскольку PHP это язык шаблонов, то мы будем использовать тока PHP-Native. А да так мы еще и получим супер оптимизацию ведь мы не придумываем лишних абстракций!
Задачи кеширования мы будем решать сразу и заранее! то что нет нагрузки не проблемма- закешируем так что будет! кешируй нафиг все и сразу. Кто сказал что затраты на поддержание кеша больше чем выйгрыш? да он ламер.
короче достаточно почитать топики/коменты и станет весело
Споры о шаблонизаторах: троллинг или умные мысли?