3968949c0a20c6bccdca0e8c54033f4fe2bd4e64
Example of use:
$ php create_example.php my_new_example
/path/to/repo/examples/my_new_example
/path/to/repo/examples/my_new_example/my_new_example.mustache
/path/to/repo/examples/my_new_example/my_new_example.txt
/path/to/repo/examples/my_new_example/MyNewExample.php
$ cd examples/my_new_example/
$ ls
my_new_example.mustache MyNewExample.php my_new_example.txt
$ cat MyNewExample.php
<?php
class MyNewExample extends Mustache {
}
Mustache.php
A Mustache implementation in PHP.
Usage
A quick example:
<?php
include('Mustache.php');
$m = new 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}}
Along with the associated Mustache class:
<?php
class Chris extends Mustache {
public $name = "Chris";
public $value = 10000;
public function taxed_value() {
return $this->value - ($this->value * 0.4);
}
public $in_ca = true;
}
Render it like so:
<?php
$c = new Chris;
echo $chris->render($template);
?>
Here's the same thing, a different way:
Create a view 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
$chris = new Chris;
$m = new Mustache;
echo $m->render($template, $chris);
?>
Known Issues
- As of Mustache spec v1.1.2, there are a couple of whitespace bugs around section tags... Despite these failing tests, this version is actually closer to correct than previous releases.
See Also
- Readme for the Ruby Mustache implementation.
- mustache(1) and mustache(5) man pages.
Languages
PHP
100%