Если говорить коротко, то CTPP (CT++, Сити Плас Плас) - это инструмент, отделяющий процесс обработки данных (бизнес-логику) от их представления. Для проектов, в которых программист и HTML верстальщик - разные люди, CT++ - самый подходящий выбор.
Например, у вас есть задача создать обычную версию HTML странички, версию для печати на принтере и экспорт данных в виде RSS. Очевидно, что в большинстве случаев алгоритм получения данных для этих страничек одинаков, а отличаются они только версткой. В другом случае может понадобиться менять дизайн страниц в зависимости от статуса пользователя или со временем может понадобиться изменить дизайн сайта, не меняя его "движок".
Достоинства CTPP:
o Очень высокая скорость работы
Библиотека CTPP действительно работает очень быстро, поскольку полностью написана на языке C++. В отличие от шаблонизаторов, разработанных на интерпретируемых языках, таких как PERL или PHP, CTPP не тратит время на интерпретацию исходного кода самой себя и не занимается подгрузкой среды исполнения.
В тоже время, библиотека быстрее широкоизвестных проектов типа Xalan-C или libxslt потому, что не предоставляет излишнюю, зачастую ненужную, но снижающую производительность функциональность.
o Гибкий синтаксис шаблонов
Если вы привыкли к синтаксису Smarty, HTML:
emplate или Text:
emplate, вы можете настроить CTPP "понимать" ваши старые шаблоны. Разумеется, некоторые переделки будут, но в ряде случаев проблем при переходе на новый "движок" не возникнет.
o Безопасность
Поскольку труд программиста и HTML верстальщика полностью разделен, нет риска поломки логики работы при неправильной верстке. То есть, вне зависимости от дизайна HTML, проект будет работать именно так, как разрабатывался программистом, в соответствии с техническим заданием.
o Кроссплатформенность
На данный момент библиотека одинаково хорошо работает под Linux, FreeBSD, Solaris и Windows.
o Поддержка реализаций того языка, к какому вы привыкли.
CTPP имеет C, C++, Perl5, PHP4 и PHP5 интерфейсы. Другими словами, вы можете подключить эту библиотеку почти к любому проекту.
o Неограниченное количество уровней вложенности циклов и условий.
o Пользовательские функции
В случае необходимости можно создать собственные функции для специфического форматирования вывода данных.
o Обработчики вывода
Шаблонизатор позволяет изменять уже полученный код; к примеру, добавить сжатие данных методом gzip или сделать поддержку PHP-подобного механизма сессий.
o Внутреннее кеширование при выводе
Шаблонизатор умеет распознавать одинаковые участки подключенного кода шаблона и обрабатывать их только один раз.
o Различные источники шаблонов.
Шаблоны могут считываться с диска, из разделяемой памяти или из любого другого источника данных.
Подробней о шаблонизаторе-http://ctpp.havoc.ru/whatis.html
Скачать|Download
Например, у вас есть задача создать обычную версию HTML странички, версию для печати на принтере и экспорт данных в виде RSS. Очевидно, что в большинстве случаев алгоритм получения данных для этих страничек одинаков, а отличаются они только версткой. В другом случае может понадобиться менять дизайн страниц в зависимости от статуса пользователя или со временем может понадобиться изменить дизайн сайта, не меняя его "движок".
Достоинства CTPP:
o Очень высокая скорость работы
Библиотека CTPP действительно работает очень быстро, поскольку полностью написана на языке C++. В отличие от шаблонизаторов, разработанных на интерпретируемых языках, таких как PERL или PHP, CTPP не тратит время на интерпретацию исходного кода самой себя и не занимается подгрузкой среды исполнения.
В тоже время, библиотека быстрее широкоизвестных проектов типа Xalan-C или libxslt потому, что не предоставляет излишнюю, зачастую ненужную, но снижающую производительность функциональность.
o Гибкий синтаксис шаблонов
Если вы привыкли к синтаксису Smarty, HTML:
o Безопасность
Поскольку труд программиста и HTML верстальщика полностью разделен, нет риска поломки логики работы при неправильной верстке. То есть, вне зависимости от дизайна HTML, проект будет работать именно так, как разрабатывался программистом, в соответствии с техническим заданием.
o Кроссплатформенность
На данный момент библиотека одинаково хорошо работает под Linux, FreeBSD, Solaris и Windows.
o Поддержка реализаций того языка, к какому вы привыкли.
CTPP имеет C, C++, Perl5, PHP4 и PHP5 интерфейсы. Другими словами, вы можете подключить эту библиотеку почти к любому проекту.
o Неограниченное количество уровней вложенности циклов и условий.
o Пользовательские функции
В случае необходимости можно создать собственные функции для специфического форматирования вывода данных.
o Обработчики вывода
Шаблонизатор позволяет изменять уже полученный код; к примеру, добавить сжатие данных методом gzip или сделать поддержку PHP-подобного механизма сессий.
o Внутреннее кеширование при выводе
Шаблонизатор умеет распознавать одинаковые участки подключенного кода шаблона и обрабатывать их только один раз.
o Различные источники шаблонов.
Шаблоны могут считываться с диска, из разделяемой памяти или из любого другого источника данных.
Подробней о шаблонизаторе-http://ctpp.havoc.ru/whatis.html
Скачать|Download