Какой механизм шаблонов я могу использовать как с JS, так и с PHP?

Я ищу простой механизм шаблонов, который работает как на стороне клиента с JS, так и на стороне сервера с PHP.

Это означает, что я хочу иметь возможность использовать одно и то же определение шаблона для обоих вариантов использования.

Знаете ли вы какие-либо шаблонизаторы, которые имеют официальные реализации как на JS, так и на PHP?


person Florian    schedule 14.05.2011    source источник
comment
В настоящее время я задаю себе тот же вопрос и больше смотрит на существование рабочих реализаций и их статус, чем на рекомендацию, проблема очевидна, редактируйте шаблоны только один раз, это должно быть общей проблемой, так почему их так мало (или нет). готовое производство) решения? Каковы наилучшие методы обмена шаблонами? или если это зло, то почему?   -  person Alex    schedule 21.09.2014
comment
См. движок Contemplate, который был специально разработан, чтобы быть изоморфным и использоваться в js/node/php/python. Это также чрезвычайно быстро и чрезвычайно гибко, поддерживает наследование шаблонов и множество функций (аналогично twig/swig) (ps я автор)   -  person Nikos M.    schedule 06.11.2018


Ответы (4)


Если вам нравится JS->приоритет PHP :), то у вас есть эти два средства визуализации шаблонов, совместимые с jquery-tmpl, для бэкенда PHP.

  1. https://github.com/abackstrom/jquery-tmpl-php
  2. https://github.com/xyu/jquery-tmpl-php

Если вы предпочитаете более приоритет PHP->JS :), вы можете попробовать эту Javascript-реализацию популярного PHP-шаблона Smarty.

  1. http://code.google.com/p/jsmart/

Или вы можете попробовать что-то более нейтральное, например:

  1. Усы http://mustache.github.com/
person mPrinC    schedule 20.05.2011
comment
Вот это я называю хорошим ответом. Коротко, точно и понятно. Ваше здоровье - person toraman; 17.05.2016

У вас есть новая возможность компилировать шаблоны как для PHP, так и для JS, используя Twig + Twig.js.

person GromNaN    schedule 18.10.2011
comment
спасибо :) посмотрю - person Florian; 19.10.2011
comment
вы использовали TwigJS? мне кажется, что в нем нет каких-либо стандартных фильтров или функций, которые фактически реализованы (?) - person mindplay.dk; 31.12.2012
comment
Здесь также есть еще одна реализация Twig в JS: github.com/justjohn/twig.js, более полнофункциональный. - person adrienne; 24.05.2013
comment
Насколько я знаю, все версии Twig для JS являются лишь подмножествами версии Twig для PHP, и ни одна из них не является официальной реализацией. - person John Slegers; 14.03.2014

Вы имеете в виду что-то вроде усы?

person robertc    schedule 14.05.2011
comment
Все, я видел это несколько дней назад, но я не помнил ни где я это видел, ни как это называлось :) Спасибо! (Мне нужно подождать еще 4 минуты, чтобы принять ваш ответ). - person Florian; 14.05.2011
comment
В зависимости от ваших потребностей, Mustache может быть слишком простым — если вы надеетесь, например. json_encode() свои модели представления и визуализировать представления как на стороне клиента, так и на стороне сервера, вы можете обнаружить, что простые вещи, такие как форматирование чисел или дат, по-прежнему требуют написания как клиентских, так и серверных функций, тогда как Twig и Twig.js могут предоставить гораздо больше этого материала из коробки. - person mindplay.dk; 21.11.2013

Используйте Усы!

Насколько я знаю, Mustache — единственный механизм шаблонов, который имеет официальные реализации как на PHP, так и на JS... вместе с двумя дюжинами языков программирования/скриптов.

  • У Twig есть версия JS, но она неполная и, насколько мне известно, неофициальная.

  • У Smarty есть версия JS, но это также неофициальный порт... и Smarty немного устаревает.

person John Slegers    schedule 13.03.2014