- Notifications
You must be signed in to change notification settings - Fork439
A Mustache implementation in PHP.
License
bobthecow/mustache.php
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
AMustache implementation in PHP.
composer require mustache/mustacheA quick example:
<?php$m =new \Mustache\Engine(['entity_flags' =>ENT_QUOTES]);echo$m->render('Hello {{planet}}', ['planet' =>'World!']);// "Hello World!"
And a more in-depth example -- this is the canonical Mustache template:
Hello {{name}}You have just won {{value}} dollars!{{#in_ca}}Well, {{taxed_value}} dollars, 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:
<?phpclass Chris {public$name ="Chris";public$value =10000;publicfunctiontaxed_value() {return$this->value - ($this->value *0.4); }public$in_ca =true;}
And render it:
<?php$m =new \Mustache\Engine(['entity_flags' =>ENT_QUOTES]);$chris =new \Chris;echo$m->render($template,$chris);
Note: we recommend usingENT_QUOTES as a default ofentity_flags to decrease the chance of Cross-site scripting vulnerability.
Readthe Mustache.php documentation for more information.
Mustache.php v3.x drops support for PHP 5.2–5.5, but is otherwise backwards compatible with v2.x.
To ease the transition, previous behavior can be preserved via configuration:
- The
strict_callablesconfig option now defaults totrue. Lambda sections should use closures or callable objects. To continue supporting array-style callables for lambda sections (e.g.[$this, 'foo']), setstrict_callablestofalse. - A context shadowing bug from v2.x has been fixed, but if you depend on the previous buggy behavior you can preserve it via the
buggy_property_shadowingconfig option. - By default the return value of higher-order sections that are rendered via the lambda helper will no longer be double-rendered. To preserve the previous behavior, set
double_render_lambdastotrue.This is not recommended.
In order to maintain a wide PHP version support range, there are minor changes to a few interfaces, which you might need to handle if you extend Mustache (seec0453be).
About
A Mustache implementation in PHP.
Resources
License
Contributing
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Uh oh!
There was an error while loading.Please reload this page.