Justin Hileman 628aa02f05 Template sections as functions.
This creates DRYer output and shallower nested blocks in compiled templates.
2012-03-05 17:56:43 -08:00
2012-03-05 14:25:32 -08:00
2012-03-01 07:27:11 -08:00
2012-03-01 07:27:11 -08:00
2010-03-19 17:40:14 -04:00
2012-03-01 05:38:53 -08:00

Mustache.php

A Mustache implementation in PHP.

Usage

A quick example:

<?php
$m = new Mustache;
$tpl = $m->loadTemplate('Hello {{planet}}');
echo $tpl->render(array('planet' => 'World!')); // "Hello World!"

And a more in-depth example -- this is the canonical Mustache template:

Hello {{name}}
You have just won ${{value}}!
{{#in_ca}}
Well, ${{taxed_value}}, after taxes.
{{/in_ca}}

Create a view "context" object -- which could also be an associative array, but those don't do functions quite as well:

<?php
class Chris {
    public $name  = "Chris";
    public $value = 10000;

    public function taxed_value() {
        return $this->value - ($this->value * 0.4);
    }

    public $in_ca = true;
}

And render it:

<?php
$m = new Mustache;
$tpl = $m->loadTemplate($template);
$chris = new Chris;
echo $template->render($chris);

See Also

S
Description
No description provided
Readme MIT
1.3 MiB
Languages
PHP 100%