Ну вопервых из спортивного интереса. Мне стало любопытно, почему не используются 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> |
<a href="/?page=logout">Sign out</a>
| <a href="/?page=clean-usermode">Exit user mode</a>
<a href="/?page=login">Sign in</a>
</div>
Согласитесь, не так пестрит в глазах. Спокойно видны блоки и вложенность, хотя и не так навязчиво. Комменты на то и комменты, чтобы быть незаметными и не мешать восприятию верстки. А это еще нет forech'ей и так далее. От натива, особенно когда туда тащатся вызовы функций и методов, можно тупо свихнуться. Не говоря уже про всякие TWIG'и.
Ну и сопутствующие фишки плана наследования, инициализаций, дебаггинга и так далее тут присутствуют.
Самое веселое в том, что мой "велосипед" допускает использование и того и другого: как разметку комментами, так и обычный нативный синтаксис. Так что это не замена, а помошник.
А вынос логики на сторону PHP позволяет использовать любые шаблонизаторы и даже переключаться между ними.
Я делал это просто из любопытства, а теперь обширно применяю в своих проектах и ни разу не пожалел. :)
_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.