[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Холивар про шаблонизатор.
Страницы: 1, 2, 3, 4, 5, 6, 7, 8
volter9
Цитата (twin @ 25.05.2014 - 21:24)
paul85
Цитата
Вопрос больше философский, ИМХО. Свой продукт тяжело внедрять.
Да именно. Я и не собираюсь никого заставлять ничего внедрять. Мне просто интересно, почему столь очевидный метод никем из разработчиков шаблонизаторов не используется. Пока только один ответ - стереотипы. Так привычнее, вот и всё.

Про какой это вы очевидный способ вы говорите? smile.gif

В шаблонах ничего не должно быть кроме просто if логики и простых foreach/for/while циклов для вывода данных. Все! Больше ничего и не надо. что тут еще может понадобится?

_____________
Мой блог
twin
volter9
Поздненько спохватились)))
Я уже написал такой шаблонизатор. В нем кстати нет
Цитата
if логики и простых foreach/for/while циклов для вывода данных.
Очевидный способ, это тот, которым воспользовались разработчики XTemplate. Без ложной скромности скажу - мой получился круче. smile.gif

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
sz47181
twin Не совсем понятно зачем вы написали свой велосипед, подскажите в чем плюшки (всю тему прочитал) ? Кому пытаетесь сделать легче верстальшикам или программистам, если программистам то им этого не надо, верстальщикам и подавно.
Вопрос без сарказма, просто не совсем понял зачем это нужно. Кстати шаблоны хотят прямо в html ввести.
twin
Ну вопервых из спортивного интереса. Мне стало любопытно, почему не используются HTML комментарии в качестве меток для шаблонизатора. В ходе обсуждений выяснилось, что идея не нова, есть уже такой шаблонизатор (XTemplate). Однако он мне не очень приглянулся, так как не поддерживает наследование шаблонов и у него достаточно путанный синтаксис - нужно обозначать вложенность. Кроме того, он имеет некоторые ограничения, так как не допускает нативного синтаксиса. Вот я и попытался это предусмотреть.

А для чего вообще? Дабы избежать логики в шаблонах, сделать их немногословными и аккуратными. И избежать суррогатного языка шаблонов типа SMARTY и иже с ней.

Обычные нативные шаблоны, это хорошо, но всё дело в том, что довольно сложно стилизовать, так как оформления PHP и HTML кодов подчиняются разным принципам. Вот сравните:

Нативный:
    <div id="header">Header. <a href="/">Home</a> |  
<?php if (isset($_SESSION['user'])) :?>
<a
href="/?page=logout">Sign out</a>
<?php
if (!empty($_SESSION['usermode'])) :?>
| <a href="/?page=clean-usermode">Exit user mode</a>
<?php
endif;?>
<?php
else :?>
<a
href="/?page=login">Sign in</a>
<?php
endif;?>
</div>

И тот же самый у меня:
    <div id="header">Header. <a href="/">Home</a> |
<!--// user -->
<a href="/?page=logout">Sign out</a>
<!--// usermode -->
| <a href="/?page=clean-usermode">Exit user mode</a>
<!--// usermode end-->
<!--// user end -->

<!--// login -->

<a href="/?page=login">Sign in</a>
<!--// login end -->
</div>


Согласитесь, не так пестрит в глазах. Спокойно видны блоки и вложенность, хотя и не так навязчиво. Комменты на то и комменты, чтобы быть незаметными и не мешать восприятию верстки. А это еще нет forech'ей и так далее. От натива, особенно когда туда тащатся вызовы функций и методов, можно тупо свихнуться. Не говоря уже про всякие TWIG'и.

Ну и сопутствующие фишки плана наследования, инициализаций, дебаггинга и так далее тут присутствуют.

Самое веселое в том, что мой "велосипед" допускает использование и того и другого: как разметку комментами, так и обычный нативный синтаксис. Так что это не замена, а помошник.

А вынос логики на сторону PHP позволяет использовать любые шаблонизаторы и даже переключаться между ними.

Я делал это просто из любопытства, а теперь обширно применяю в своих проектах и ни разу не пожалел. :)

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.