Ein Template-System, oder auch Template-Engine genannt, ist eine Art Framework, um das Layout einer Webseite (HTML) klar von der Programmierung (z. B. PHP) zu trennen. Die Programm-Logik wird hierbei in einem Controller untergebracht. Dieser Controller ruft das Template auf und übergibt alle benötigten Variablen. Durch diese klare Trennung kann das Layout ausgetauscht werden, ohne die Programm-Logik anfassen zu müssen. Besonders praktisch ist diese Trennung, wenn Layout und Programmierung von verschiedenen Abteilungen umgesetzt werden.