From Wikipedia, the free encyclopedia
Jump to: navigation, search
Stable release
2.7.1 / July 5, 2011 (2011-07-05)
Written in C++
Type library or framework
License BSD License
Website ctpp.havoc.ru/en

CTPP (or CT++) is a template engine completely written in C++. It has bindings for Perl, PHP and Python languages.


  • Performance
  • Flexible syntax of templates
  • Robustness
  • Portability
  • Support for implementations in the language of your choice
  • Unlimited levels of nested cycles and conditions
  • User functions



The MVC paradigm divides an application into three basic entities: a set of Models, a Controller, and the View.

A classic implementation completely isolates these entities from each other. It is assumed that a View doesn’t process any data and only renders a corresponding object model according to the template, that a Controller is only used to determine the list of executed models, and that Models represent entirely abstract data sets and rules that govern the data.

This paradigm allows separating the functions of a web designer, a programmer and a manager. A lot of the code can be reused. In addition a project has a single entry point which facilitates its upgrading and development.

As represented in the diagram below the architecture of the template engine consists of 4 subsystems: a template compiler which converts the text of the page template into bytecode, a virtual machine which executes the bytecode, a caching system for templates, and a library of data processor functions.

External links[edit]