Наиболее часто используемый синтаксис для шаблонизатора? - PullRequest
1 голос
/ 05 августа 2009

Я пишу шаблонизатор (то, что будет добавлять данные в шаблон для создания документа, например, используемый на страницах Active Server Pages или JavaServerPages или PHP - или даже в сценариях shell / bash, письмах в форме ant или Word).

Некоторые примеры:

${yourVariableHere}
<TMPL_LOOP NAME=EMPLOYEE_INFO>
<%= toStringOrBlank( "expanded inline data " + 1 ) %>
<% Response.Write "Hello World!" %>
<?php echo "Hello World!\n"; ?>

Я хотел бы использовать знакомый синтаксис, чтобы пользователи могли быстро и легко приступить к работе, поэтому я ищу наиболее часто используемый и наиболее узнаваемый синтаксис шаблонов (не обязательно «лучший») один - просто стандартный).

Моя целевая аудитория - это больше, чем просто веб-разработчики, поэтому я не думаю, что мне следует склоняться к тому, с чем они знакомы (хотя именно здесь большинство шаблонов используются).

Какой лучший пример такого синтаксиса?

Ответы [ 3 ]

1 голос
/ 05 августа 2009

Вариант ${yourVariableHere} очень распространен: скорость Apache, Freemarker, оболочка UNIX также использует конфигурационные файлы сборки Apache Ant и компоненты bean-компонентов Springframework. Кроме того, его проще анализировать (без привязки к иерархии тегов, не нужно использовать синтаксический анализатор dom), а также вообще работать с HTML в старом стиле и без тегов.

1 голос
/ 23 сентября 2009

Если вы работаете на JVM, посмотрите на поддержку Groovy для шаблонов. Он использует синтаксис EL с $ {}, как указано выше, для замены переменных из карты и <%%> для блоков исполняемого кода. Может быть, вы могли бы просто использовать это вместо того, чтобы бросать свои собственные, или, если нет, просто принять некоторые принципы.

http://groovy.codehaus.org/Groovy+Templates

1 голос
/ 05 августа 2009

Я верю, что самый распространенный синтаксис - это Smarty (http://www.smarty.net/). Однажды я видел шаблонизатор для JS, который использовал тот же синтаксис.

<b>Hello Smarty</b>
My name is {$user.fullName} and i'm {$user.age} years old.

Легко и чисто ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...