Как стать автором
Обновить

Blitz Templates

Разработка веб-сайтов *


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

Читать дальше →
Всего голосов 32: ↑29 и ↓3 +26
Просмотры 3.7K
Комментарии 164

Реабилитация XML/XSLT технологий

CMS *
Здравствуй, Хабр. Некоторое время назад мы внедрили у себя в CMS наряду с уже имевшимся к тому моменту собственным шаблонизатором, еще и XSLT. Поскольку есть в XSLT большие и реальные преимущества и для разработчиков, и для хозяев студий, и даже для владельцев сайтов. Но реакция наших партнеров разделилась на противоположные мнения: одни давно ожидали этого и были рады появлению такой возможности, другие поставили под сомнение востребованность XSLT, приводя в качестве аргумента низкую производительность, которую якобы влечет за собой использование XSLT.
Понятно, что у всего нового всегда есть сторонники и противники, и рассудит их время. Поэтому не было особого смысла развязывать религиозную войну XSLT vs tpl или Smarty на тот момент. Но мы обнаружили, что оказывается, один из лидеров российского рынка CMS с завидным упорством все пишет и пишет о якобы несостоятельности XSLT как массовой технологии и готов рассматривать ее только в контексте специфичных задач. А это негативно влияет на умы некоторых непосвященных разработчиков об XSLT.

Читать дальше →
Всего голосов 56: ↑53 и ↓3 +50
Просмотры 10K
Комментарии 206

Шаблонизаторы для HTML.

Чулан
В эту неделю довольно много писали про шаблонизаторы, преимущественно Smarty и XSLT. В то же самое время ваш покорный слуга усиленно думал над тем, какой бы шаблонизатор использовать на своих проектах, и пришел к неутешительному выводу что ему ничего не нравиться. Далее будет рассмотрены основные методы написания шаблонов, расписано что в них нехорошего и предложен свой взгляд на проблему.
Читать дальше →
Всего голосов 9: ↑8 и ↓1 +7
Просмотры 1.8K
Комментарии 16

Шаблонизатор на php

Разработка веб-сайтов *
Вообще писать особо не умею, обычно выходит только код, но постараюсь :)
Вот не прижилось во мне свойство использовать чужые готовые решения при разработке сайтов и по этому многое пишу сам, возможно по аналогии, но зато с полным пониманием и надеждой на то, что в будущем смогу разобраться в этом коде. Как-то получил вопрос мол зачем пишешь свой движок если есть куча готовых, бери и модернизируй для своей цели: подключай модули, настраивай и забивай бд. Ответить по сути не смог, но идею передал – нравится мне кодить да и вообще разбираться в новом.
Ну собственно о чём я. В очередной переделке своего движка решил уже написать что-то вроде шаблонизатора. Раньше был вариант, но настолько не удобный, что приходилось много править, за многим следить.

Почитал статьи на эту тему и как-то ничего нового не нашёл, кроме одной реализации.
Читать дальше →
Всего голосов 20: ↑9 и ↓11 -2
Просмотры 8.8K
Комментарии 44

PHP: производлительность шаблонов

Чулан

О чем это я?


Ах да, я хотел вам рассказать о небольшом тесте, который я проводил на досуге. Дело в том, что я люблю изобретать велосипеды (не бейте меня ногами за это невинное хобби). Поэтому в бытность программистом-похапешником я думал над реализацией шаблонизатора (а кто не думал — пусть кинет в меня камнем).
Если вы хотите сравнения производительности известных шаблонизаторов — простите, в другой раз
Темой этой статьи является исследование производительности некоторых частных случаев использования простых шаблонов
Читать дальше →
Всего голосов 18: ↑11 и ↓7 +4
Просмотры 453
Комментарии 20

Вся правда о шаблонизаторах

PHP *
Статейка старенькая, но думаю до сих пор актуальная

Cлишком часто я в последнее время слышу слово «шаблонизатор». Не утихают споры между сторонниками разных шаблонных движков. Одни говорят что логика в шаблонах это хорошо, другие считают что это зло. Даже сейчас очень часто встречаются проекты, написанные вообще без применения какого либо шаблонизатора. Но в этой статье я не буду предпринимать попыток стать на сторону одной из сторон. Я не буду вам доказывать преимущества ни одного из подходов. Я просто постараюсь рассказать обо всех из них с точки зрения теории. Эта статья не о конкретных программных продуктах, а о способах выделения логики представления в ваших приложениях.
Читать дальше →
Всего голосов 18: ↑9 и ↓9 0
Просмотры 34K
Комментарии 48

Шаблонизаторы для PHP, обзор принципов.

Чулан
У таких статей обычно плохая судьба на Хабре.
«Шаблонизаторы», в особенности «шаблонизаторы для PHP» — встретив эти слова в заголовке темы на форуме, названии статьи или записи в блоге, можно быть уверенным — очередной холивар где-то рядом. В чем причина?
Постараюсь не скатиться до банальностей
Всего голосов 3: ↑3 и ↓0 +3
Просмотры 1K
Комментарии 7

symfony — первое знакомство, рассуждения и впечатления.

PHP *
Сегодня хочу рассказать Вам о своем недавно состоявшемся первом знакомстве с фреймворком symfony.

Так как до этого я в течение длительного срока (около полутора лет) разрабатывал свои приложения на Zend Framework'е — мне есть с чем сравнивать.
Читать дальше →
Всего голосов 141: ↑108 и ↓33 +75
Просмотры 159
Комментарии 234

Нативный шаблонизатор

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

  1. $title = 'My title';
  2. include('templates/index.html');
* This source code was highlighted with Source Code Highlighter.

  1. <html><head><title><?php echo $title ?></title></head>
  2. <!-- ... -->
* This source code was highlighted with Source Code Highlighter.


То есть, переменную определили и приинклюдили html-файл. Я считаю, что это в корне неверный подход. Почему?

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

Таким образом, я пришел к выводу, что шаблонизатор нужен, но он не должен быть навороченным тормозом типа Smarty.
Идеология блочных шаблонизаторов (XTemplate, например) мне не импонирует потому, что в них нет ветвлений как таковых, есть только циклы.

Потому я написал свой.
Читать дальше →
Всего голосов 59: ↑36 и ↓23 +13
Просмотры 7.7K
Комментарии 86

Размышления о шаблонизаторах

Чулан
На этой неделе много раз задумывался о дальнейшей модернизации самописного шаблонизатора. Непреодолимая тяга к прекрасному не оставляет в покое. К тому же неожиданной опыт работы с XSLT в качестве шаблонизатора дал дополнительную пищу для размышлений.
Очень кстати появились сразу два топика (приемы работы с шаблонизатором, Нативный шаблонизатор), в которых описываются методы работы с нативными php шаблонами, так сказать, самой трушным шаблонизатором.
Почему-то все сравнения сводятся к Smarty или подобным. Собственные разработки в расчет почему-то мало берутся. В этом плане понравился коммент:
я считаю что боязнь перед использованием собственных разработок в коллективе прежде всего из за плохой коммуникации. Улучшайте среду общения и будет лучше! что стоят 10000 строк вашей документации если у новичка есть конкретная проблема? а что если эта проблема ранее не обсуждалась? ждать нового релиза, рыться в кодах готового продукта (который часто выглядит черным ящиком)?
в целом я ЗА использование готовых решений, но иногда это не оправдано.
В частности не оправдан страх научить других людей пользоваться вашим решением, если решение работает, и нормальный код, то даже документация большинству не понадобится

Очень повеселила проблема того же хабраюзера с медленной работы ob_start(). Но тут до меня дошло почему с нативными шаблонами нужна буфферизация — в них же все данные вставляются через echo =). Получилось, что используя резкие как понос нативные шаблоны весь выигрыш в скорости просирается буфферизацей.
Всего голосов 15: ↑9 и ↓6 +3
Просмотры 325
Комментарии 15

MACRO — гибкий PHP шаблонизатор, с человеческим «лицом»

PHP *
Раз уж сегодня на хабре день РНР шаблонизаторов, то не могу не рассказать о MACRO — наиболее гибком шаблонизаторе с читаемыми шаблонами, среди известных мне.
я хочу прочитать третье, за день, описание шаблонизатора
Всего голосов 48: ↑35 и ↓13 +22
Просмотры 2.4K
Комментарии 96

Обзор шаблонизатора Quicky: Производительность и Гибкость

PHP *
Quicky — hi-end шаблонизатор, написанный на PHP отличающийся гибкой функциональностью, и в то же время, высокой производительностью. За основу взят синтаксис и функционал Smarty.


содержание:
переход со Смарти, на Quicky
— — чем Quicky лучше Smarty?
Quicky быстрее PHP-native?
Quicky темная сторона силы.
Комьюнити Quicky. (теперь все тут http://code.google.com/p/quicky/)
Богатые возможности Quicky.
Вместо заключения. Личное мнение.
Читать дальше →
Всего голосов 89: ↑70 и ↓19 +51
Просмотры 4.7K
Комментарии 239

HolyWar: Шаблонизаторы. Нужны ли они? состоятельны ли они? Форум.

Чулан
страшно подумать, но стоит произнести слово шаблонизатор, как отовсюду начинают выглядывать красные глаза озлобленных разработчиков, которые готовы перегрызть тебе горло за одно лишь употребление этого слова в суе. Миллионы разработчиков во всем мире использует их, но, несмотря на это, тема священной войны за и против шаблонизаторов всегда встает краеугольным камнем везде где звучит это слово. Меня эта ситуация на хабре уже изрядно достала, поэтому я предлагаю подискутировать на эту тему здесь! в отдельном топике, ради того чтоб не обсуждать эту тему во всех других топиках, поднимая ее снова и снова.
Читать дальше →
Всего голосов 14: ↑8 и ↓6 +2
Просмотры 710
Комментарии 148

Вышло долгожданное обновление Velocity: шаблонить стало немного проще

Java *

Обзор новых возможностей шаблонного движка


Первого декабря 2008 г. Apache объявила о выпуске новой версии давно не обновлявшегося шаблонного движка Velocity, за номером 1.6, а еще двумя неделями позже появился апдейт со свежими фиксами, Velocity Engine 1.6.1. Те, кто используют Velocity в своих проектах, будут рады узнать о новых возможностях, появившихся в новой версии. Те же, кто Velocity не используют, возможно, откроют для себя новый полезный инструмент.
Читать дальше →
Всего голосов 32: ↑31 и ↓1 +30
Просмотры 6.5K
Комментарии 12

Использование шаблонов Cheetah совместно с Django

Django *
Однажды появилась необходимость выбрать шаблонизатор для использования с Django. На одном встроенном решении останавливаться я не хотел, а провел небольшое исследование производительности и удобства использования разных продуктов.

На данный момент я выбрал Cheetah. Вот почему:
Читать дальше →
Всего голосов 32: ↑28 и ↓4 +24
Просмотры 3.8K
Комментарии 19

Концепция парсера php->php

Чулан
image
После нескольких проектов, с раздутыми структурами и неуловимой тормозящей структурой инклудов, я попробывал сделать что то более удобное и оптимальное.
Всё началось с того, что я пытался избавиться от инклудов. Да, да :)
Параноидальная оптимизация каждой строки и тесты привели меня к выводу, что для достижения максимальной оптимизации,
необходимо что бы каждая страница использовала только необходимые ей структурные блоки. И все эти структурные блоки должны быть частью страницы.
Читать дальше →
Всего голосов 25: ↑12 и ↓13 -1
Просмотры 857
Комментарии 36

Чистый шаблонизатор — PURE

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

Им удобно пользоваться, у него хороший сайт, а также поддержка самых разных JavaScript-библиотек (Prototype, jQuery, MooTools, Sizzle, скоро Dojo).
пример использования
Всего голосов 32: ↑17 и ↓15 +2
Просмотры 6.4K
Комментарии 42

Применение наследования в шаблонах Mason

Perl *
Mason — достаточно известный и распространенный фреймворк для разработки Perl-приложений. Несмотря на простой синтаксис, он обладает достаточно широкими возможностями и высокой производительностью; имеет встроенные средства для интеграции с mod_perl и memcached. Освоить работу с mason очень просто — система хорошо документирована. В то же время, есть ряд интересных тонкостей, до которых документацию дочитывают не все. Возможно, именно поэтому код, который мне доводилось видеть, до боли напоминал неудачную поделку на PHP, в которой для упрощения жизни разработчик не использовал ничего сложнее разбивки на инклюдники. Можно ли на масоне писать лучше? По-моему, да.
Попробуем?
Всего голосов 17: ↑14 и ↓3 +11
Просмотры 2K
Комментарии 9

Ещё один php шаблонизатор

PHP *

Доброго времени суток,

Хочу рассказать о своём шаблонизаторе для проектов на PHP.
Понимаю, что рискую быть обвинённым в изобретении велосипеда, поэтому объясню свои мотивы: Большинство шаблонизаторов меня не устраивают изначально, среди них Smarty, Quicky и все им подобные, причина — мне кажется, что шаблонизатор должен избавлять от использования логики в шаблонах, а не навязывать свой синтаксис для той же логики.
Иначе говоря, такой:
  1. {?$x = 2+2}
, или такой
  1. {foreach name=my from=array('One','Two','Three') key="i" item="text"}
подходы для меня абсолютно неприемлимы!
Пожалуй, из всех шаблонизаторов больше всех удовлетворяет моим требованиям xtemplate, но у него есть целый ряд недостатков которые меня раздражают, например то, что все страницы нужно обрамлять в блоки, или то, что он интерпретирует шаблоны, а не компилирует, благодаря чему скоростью похвастаться не может. Ну и последнее — я решил написать шаблонизатор так, чтобы не было никаких проблем с добавлением функционала, а также, чтобы он был совместим с нативным шаблонизатором, который я использовал до этого, и к которому привык. Дело в том что конструкция 
  1. $tpl->assigned_var='abc';
которую часто используют нативные шаблонизаторы, мне нравится гораздо больше чем что-нибудь вроде:
  1. $thl->assign('assigned_var','abc');
Читать дальше
Всего голосов 13: ↑8 и ↓5 +3
Просмотры 12K
Комментарии 44