No Description

Justin Hileman a47289607d Templates are only callable in 5.3+ 13 years ago
bin 1430b27f86 Move `examples` into the test fixtures. 13 years ago
src 2328615772 Change text tokens to proper tokens (instead of strings) 13 years ago
test a47289607d Templates are only callable in 5.3+ 13 years ago
vendor 4e733287cc Clean up vendor libraries. 13 years ago
.gitignore 99ff7316b3 Add composer.json 13 years ago
.gitmodules 8051acf8ac Switch submodules to use git:// repo urls. 13 years ago
.travis.yml 74e54cb68e Mustache.php v2.0 will play well with PHP 5.2.x 13 years ago
LICENSE 36bd2d87dc MIT License 15 years ago
README.markdown 27a9b1ec72 Add Travis build status badge. 13 years ago
composer.json 21d2b9b392 Update composer for 5.2.x 13 years ago
phpunit.xml.dist 291ca6d4cb Update the test suite config to actually exclude FiveThree 13 years ago

README.markdown

Mustache.php

A Mustache implementation in PHP.

Build Status

Usage

A quick example:

<?php
$m = new Mustache_Mustache;
echo $m->render('Hello {{planet}}', 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_Mustache;
$chris = new Chris;
echo $m->render($template, $chris);

See Also