Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Другие движки / фрейморки > Темплейт движки


Автор: 02077461 1.7.2008, 17:31
Добрый вечер.
Поделитесь пожалуйста соображениями по теме топика.
Какой движок лучше и обязательно чем он лучше или когда он лучше.

Сразу могу сказать что не нравится в smarty: во-первых не нативен (с этим могу смериться), в темплейте присутствует логика (недопустимо).
пользовался ptp_templates, всем доволен, таким должен быть движок, но продукт более не поддерживается и содержит баги.

Поделитесь пожалуйста опытом, именно опытом использования.

Автор: Feldmarschall 1.7.2008, 17:35
Ну тогда прямая дорога в blitz. Больше по таким критериям ничего не найдется.
Странно даже, что он не был найден как замена php_templates

А что значит "не нативен"?

Автор: SamDark 1.7.2008, 17:51
php_templates тоже не нативен.

Цитата

в темплейте присутствует логика (недопустимо)

Допустимо, если это логика отображения.

А вообще вот почитать: http://forum.vingrad.ru/forum/topic-54581.html

Автор: 02077461 1.7.2008, 18:19
Цитата(Feldmarschall @  1.7.2008,  17:35 Найти цитируемый пост)
А что значит "не нативен"?

Исполняется не операционной системой а на более абстрагированном уровне.


Цитата(SamDark @  1.7.2008,  17:51 Найти цитируемый пост)
Допустимо, если это логика отображения.

Согласен, но на практике не вызывало особых трудностей внести в код например $type = 1-$type и подобные вещи. Конечно, когда дизайнер не знает о программисте и наоборот -- нужно, но такой подход к ведению проекта -- повод задуматься

Добавлено через 5 минут и 35 секунд
Цитата(SamDark @  1.7.2008,  17:51 Найти цитируемый пост)
php_templates тоже не нативен.

Ошибаетесь

Автор: 02077461 1.7.2008, 18:35
Цитата(SamDark @  1.7.2008,  17:51 Найти цитируемый пост)
А вообще вот почитать: http://forum.vingrad.ru/forum/topic-54581.html 

не осилил. злющий балаган. 

Цитата(Feldmarschall @  1.7.2008,  17:35 Найти цитируемый пост)
Ну тогда прямая дорога в blitz

Большое спасибо!

Автор: Feldmarschall 1.7.2008, 18:58
Ну, на самом деле, логика-то в шаблоне всегда есть. Речь об операторах, которые эту логику реализуют. Вот их может не быть. В этом случае верстальщик должен работать в более тесном контакте с программистом, чтобы тот знал, что блок <BOOKS> означает вывести, если есть книжки, которые покупают вместе с, а блок <NEWS> - это проитерировать новости. 

А вообще, конечно, template do's и dont's стоит обсуждать только если есть единое мнение, для чего они вообще нужны.

Автор: MuToGeN 11.7.2008, 04:13
Цитата(02077461 @  1.7.2008,  17:31 Найти цитируемый пост)
в темплейте присутствует логика (недопустимо)

Логика визуализации и бизнес-логика - разные вещи. Первое всегда будет присутствовать в шаблоне.

По сабжу:
1. XSLT. В отличии от php_templates, smarty и прочих штук эта вещь стандартизированная. 
2. Очень понравился подход к шаблонизации, используемый в http://codeigniter.com/. Все сводится к определенным правилам кодинга, не более. Не используется никаких лишних наворотов, но все понятно как программисту, так и верстальщику.

Автор: Anarki 28.7.2008, 01:15
Smarty компилирует шаблоны во вполне нативный код.

Автор: HackMan 28.7.2008, 07:53
Объясните, пожалуйста, понятнее, что значит нативный?  smile 

Вообще, как по мне, задача шаблонизатора сводится к тому, что бы в готовый html-коcтяк вставлять динамически-изменяемые данные. HTML код в самом шаблоне может изменяться не зависимо от того, как происходят рассчёты вне шаблона, и дизайнер/верстальщик (хотя, зачастую, на практике программист и верстальщик - один и тот же человек) сможет составлять свои макеты не парясь о том, как там работают скрипты программера, а пограммисту в свою очередь не надо волноваться за то как данные будут смотреться на сайте. Подсчитал какие-то данные, передал их в шаблонизатор и на этом его работа заканчивается. Это помогает не мешать всё в одну большую кашу. Рассчёты в одном месте, вывод - в другом.

Добрая половина шаблонизаторов парсит шаблон и заменяет конструкции типа <%variable%> на значение соответствующей переменной. То есть сначала шаблон отпарсится шаблонизатором, а это лишняя работа, гонять туда-сюда, когда можно написать просто <?php echo $variable; ?>. Ну и пусть что прйдётся написать на несколько символов больше. Зато прирост в скорости в 2-3 раза. В шаблонах могут потребоваться разве что циклы для вывода табличных данных, элементов меню или чего-нибудь такого, и подключение другого шаблона внутрь себя. Ну, максимум - логический оператор if. PHP со всеми этими делами справляется на ура и максимально быстро.

Тесты производительности различных шаблонизаторов можно посмотреть http://bench.limb-project.com/. Как видно, PHP - абсолютный лидер  smile 

Автор: Anarki 31.7.2008, 13:02
Нативный в данном случае это значит, что в шаблоне содержится обычный php код. Ты привел пример пассивных шаблонов, у них есть ограничение на оформление(xhtml) выводимых данных, самый простой пример это зебра.

Автор: 02077461 20.8.2008, 15:32
Цитата(HackMan @  28.7.2008,  07:53 Найти цитируемый пост)
(хотя, зачастую, на практике программист и верстальщик - один и тот же человек

зачастую на практике написания сайтов-визиток за $30?
Цитата(HackMan @  28.7.2008,  07:53 Найти цитируемый пост)
Объясните, пожалуйста, понятнее, что значит нативный?

Под нативным я подразумевал код, исполняемый операционной системой (например модуль php_templates).

Попользовав blitz я решил от него отказаться. Движек неадекватный. Автор похоже такой же.
Сейчас смотрю в сторону fast_template, или своего движка, замены php_templates (уж сильно он мне приглянулся).
Всем спасибо за участие, тема закрыта.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)