mirror of
https://github.com/kennethreitz-archive/wp-mustache.git
synced 2026-06-20 23:50:56 +00:00
93 lines
1.8 KiB
Markdown
93 lines
1.8 KiB
Markdown
Mustache.php
|
|
============
|
|
|
|
A [Mustache](http://defunkt.github.com/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
|
|
------------
|
|
|
|
* Sections don't respect delimiter changes -- `delimiters` example currently fails with an
|
|
"unclosed section" exception.
|
|
* Test coverage is incomplete.
|
|
|
|
|
|
See Also
|
|
--------
|
|
|
|
* [Readme for the Ruby Mustache implementation](http://github.com/defunkt/mustache/blob/master/README.md).
|
|
* [mustache(1)](http://defunkt.github.com/mustache/mustache.1.html) and [mustache(5)](http://defunkt.github.com/mustache/mustache.5.html) man pages. |