Pull to refresh

Blitz Templates

Website development *


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

Читать дальше →
Total votes 32: ↑29 and ↓3 +26
Views 3.6K
Comments 164

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

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

Читать дальше →
Total votes 56: ↑53 and ↓3 +50
Views 10K
Comments 206

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

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

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

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

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

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

Lumber room

О чем это я?


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

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

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

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

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

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

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

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

Так как до этого я в течение длительного срока (около полутора лет) разрабатывал свои приложения на Zend Framework'е — мне есть с чем сравнивать.
Читать дальше →
Total votes 141: ↑108 and ↓33 +75
Views 151
Comments 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, например) мне не импонирует потому, что в них нет ветвлений как таковых, есть только циклы.

Потому я написал свой.
Читать дальше →
Total votes 59: ↑36 and ↓23 +13
Views 7.6K
Comments 86

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

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

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

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

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

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

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


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

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

Lumber room
страшно подумать, но стоит произнести слово шаблонизатор, как отовсюду начинают выглядывать красные глаза озлобленных разработчиков, которые готовы перегрызть тебе горло за одно лишь употребление этого слова в суе. Миллионы разработчиков во всем мире использует их, но, несмотря на это, тема священной войны за и против шаблонизаторов всегда встает краеугольным камнем везде где звучит это слово. Меня эта ситуация на хабре уже изрядно достала, поэтому я предлагаю подискутировать на эту тему здесь! в отдельном топике, ради того чтоб не обсуждать эту тему во всех других топиках, поднимая ее снова и снова.
Читать дальше →
Total votes 14: ↑8 and ↓6 +2
Views 702
Comments 148

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

Java *

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


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

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

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

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

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

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

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

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

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

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

Perl *
Mason — достаточно известный и распространенный фреймворк для разработки Perl-приложений. Несмотря на простой синтаксис, он обладает достаточно широкими возможностями и высокой производительностью; имеет встроенные средства для интеграции с mod_perl и memcached. Освоить работу с mason очень просто — система хорошо документирована. В то же время, есть ряд интересных тонкостей, до которых документацию дочитывают не все. Возможно, именно поэтому код, который мне доводилось видеть, до боли напоминал неудачную поделку на PHP, в которой для упрощения жизни разработчик не использовал ничего сложнее разбивки на инклюдники. Можно ли на масоне писать лучше? По-моему, да.
Попробуем?
Total votes 17: ↑14 and ↓3 +11
Views 2K
Comments 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');
Читать дальше
Total votes 13: ↑8 and ↓5 +3
Views 12K
Comments 44