Skip to content
A PHP port of Ruby's Liquid Templates
Pull request Compare This branch is 38 commits behind harrydeluxe:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
example
lib
LICENSE.txt
Liquid.class.php
README.textile

README.textile

Liquid template engine for PHP

Liquid is a PHP port of the Liquid template engine for Ruby, which was written by Tobias Lutke. Although there are many other templating engines for PHP, including Smarty (from which Liquid was partially inspired), Liquid had some advantages that made porting worthwhile:

  • Readable and human friendly syntax, that is usable in any type of document, not just html, without need for escaping.
  • Quick and easy to use and maintain.
  • 100% secure, no possibility of embedding PHP code.
  • Clean OO design, rather than the mix of OO and procedural found in other templating engines.
  • Seperate compiling and rendering stages for improved performance.
  • Easy to extend with your own tags and filters.
  • 100% Markup compatibility with a Ruby templating engine, making templates usable for either.

What does it look like?

Example snippet:

 {% if products %}
	<ul id="products">
	{% for product in products %}
	  <li>
		<h2>{{product.name}}</h2>
		Only {{product.price | price }}
	
		{{product.description | prettyprint | paragraph }}
		
		{{ 'it rocks!' | paragraph }}
		
	  </li>      
	{% endfor %}
	</ul>
 {% endif %}

Code to render:

 $liquid->parse(file_get_contents('templates/products.tpl'))->render($products);

Requirements

  • PHP 5.1+
  • SPL extension

Fork Notes

This fork is based on php-liquid by Mateo Murphy. The original library is still hosted at: (http://code.google.com/p/php-liquid/)

Something went wrong with that request. Please try again.