Template engines are designed to allow the separation of business logic from the presentation layer, which means allowing MVC architecture to the developers. With the aid of template engines, we are able to develop websites with different looks but the same logic or the core code. Template engines are lately known as not good ideas because recent platforms already have embedded template engines to separate views from logic, generate code etc…
Here is a compilation of 38 Coolest Template Engines for PHP you can take into reference. Full list after jump.
Model-view-controller (MVC) is an architectural pattern used in software engineering. In complex computer applications that present a large amount of data to the user, a developer often wishes to separate data (model) and user interface (View) concerns, so that changes to the user interface will not affect data handling, and that the data can be reorganized without changing the user interface. The model-view-controller solves this problem by decoupling data access and business logic from data presentation and user interaction, by introducing an intermediate component: the controller.