Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Lightweight PHP5 based template class/system

Tags:

php

templates

Looking at using a template system for a new project, it's only a small site and don't want to use the overhead and 'complexity' of smarty. I don't really like template systems that force you to make use of another language just to make it easier for designers (apparently).

Something like this http://www.namepros.com/code/517342-php5-template-class.html is what Im looking at but something which is a bit more robust and proven.

like image 663
Wizzard Avatar asked Feb 10 '10 07:02

Wizzard


1 Answers

TWIG

I would recommend using Twig

  • extensible syntax
  • efficient
  • compiles and caches your templates to PHP classes with a very small overhead
  • sandbox mode to evaluate untrusted template code
  • unit tested
  • great documentation
  • multiple template inheritance, template blocks, automatic output-escaping

Also read Fabien Potencier's blog post, where he explains needs for a powerful and customizable template engine.

TWIG Template code

{% extends "layout.html" %}

{% block title %}
    {{ page.title|escape|title }}
{% endblock %}

{% block content %}
    Content of the page...

    {% for user in users %}
      * {{ user.name }}
    {% else %}
        No user has been found.
    {% endfor %}

{% endblock %}

{# this is a comment in twig syntax #}

Symfony Components

Also if you need additional components for web development, but you already have a defined code base, have look at Symfony Components which includes additional templating component (mentioned in XUE Can answer)

like image 71
Juraj Blahunka Avatar answered Oct 15 '22 06:10

Juraj Blahunka