2012-03-21 4 views
0

Мне нужен очень простой механизм шаблонов, который инкапсулируется в один класс. Поэтому я мог бы легко наследовать свои классы из него.PHP engine engine - единственный класс

Вся необходимая функциональность - это «для» циклов, если/else и размещение переменных. Даже включая другие шаблоны не требуется.

Он также должен поддерживать кеширование производительности.

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

+0

См [Наименьший] (HTTPS: //code.google.com/p/smallest-template-system/) –

ответ

2

Я рассмотрел все двигатели, приведенные в ответах. Темплум был самым близким, но на самом деле не тот, который я искал.

После нескольких поисков я нашел RainTPL, именно то, что я просил.

К сожалению, я должен буду принять свой собственный ответ.

1

Это не единственный класс, это 2 (плюс несколько исключений), но это самый компактный и самый простой шаблонный движок я видел: http://templum.electricmonk.nl/

1

Посмотрите TinyButStrong уверен, что он имеет то, что вы хотите ,

приводилось их документы:

Потому что есть только один файл для установки. Он состоит только из одного класса с 6 методами и 5 свойствами.

4

Вы можете попробовать проект Div PHP Template Engine, и я рекомендую вам загрузить последнюю версию.

+0

Просто протестировал это для создания простого вывода, только один класс для включения, очень простой синтаксис, вы даже можете использовать простой шаблон echo + template + varlist и получить свой шаблон работает. – jhcaiced

+0

Лицензия Div Engine - GPL. Не может быть полезно для всех. – Yirkha

0

Попробуйте StampTE, это не только одноклассный шаблонный движок, но и элегантный, потому что он предлагает 100% разделение HTML-PHP. Вы используете только HTML-комментарии для определения регионов, они называются маркерами. Нет условий, нет петель, нет разделов.

http://stampte.com/

0

Try текста шаблона. Это один единственный класс, чистые регулярные выражения, без необходимости доступа к файловой системе; он поддерживает циклы, условия и фильтры: http://github.com/dermatthes/text-template

И он сообщит разборе-ошибки с правильной строки числами :-)

Демо-шаблон:

Hello {= user.name}, 
{for curOrder in orders} 
Order {= @index1}: {curOrder.title} 
{/for}