Итак, встречайте: CTPP2 2.6.0 Technology Preview.
Основные концепции описаны здесь:
http://slonik-v-domene.livejournal.c
Что получит пользователь?
- возможность сравнения строк и чисел в строковом и числовом контексте (то, что так давно хотели перлисты ;).
- поддержку несколько новых синтаксисов (TT, smarty, asp-like)
- новые функции
- более удобное API
- улучшенный вывод ошибок времени компиляции и исполнения
- чуть более высокую скорость работы
- немного меньший размер откомпилированных шаблонов
- внятную документацию
- набор ready-to-use примеров
Что не доделано в Technology Preview?
Блоки try/catch/finally, оператор TMPL_define, оператор TMPL_break, компиляторы шаблонов для синтаксисов TT и Smarty. Все это - в следующих версиях патчей.
На что обратить внимание?
В ряде мест сильно изменено API шаблонизатора. Это значит, что ни модуль Perl, ни расшираения PHP и Python с 2.6.0 не скомпилируются. Это - временно. Как только 2.6.0 будет отлажена окончательно, я исправлю все ошибки сборки.
2010-06-09 06:52 am (UTC)
2010-06-09 06:56 am (UTC)
2010-06-09 07:00 am (UTC)
2010-06-09 07:38 am (UTC)
Текущийн снтаксис на основе соглашений HTML::Template, разумеется, останется.
Будет введена поддержка TT-like диалекта [% foo %] и его аналогов: {% foo %}, <% foo %>.
Кроме того, для диалекта основе HTML::Template появится возможность доступа к элементам хэшей и массивов не через функции типа ARRAY_ELEMENT / HASH_ELEMENT, а через прямое указание индекса.
То есть, вместо кривого
<TMPL_var HASH_ELEMENT('foo', ARRAY_ELEMENT(3, array))>
будет понятнаяя и красивая запись
<TMPL_var array[3]['foo'] >
2010-06-09 08:47 am (UTC)
2010-06-09 02:52 pm (UTC)
2010-07-01 09:11 am (UTC)
А можно ли вызывать функцию в tmpl_loop ?
Было бы клево сделать предобработку, например, перевернуть массив, или выкинуть лишнее, ...
2010-07-10 07:25 pm (UTC)