Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

A Mustache implementation in PHP.

License

NotificationsYou must be signed in to change notification settings

bobthecow/mustache.php

Repository files navigation

AMustache implementation in PHP.

Package versionMonthly downloads

Installation

composer require mustache/mustache

Usage

A 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.

And That's Not All!

Readthe Mustache.php documentation for more information.

Upgrading from v2.x

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:

  • Thestrict_callables config 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_callables tofalse.
  • A context shadowing bug from v2.x has been fixed, but if you depend on the previous buggy behavior you can preserve it via thebuggy_property_shadowing config 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, setdouble_render_lambdas totrue.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).

See Also

About

A Mustache implementation in PHP.

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published

Languages


[8]ページ先頭

©2009-2025 Movatter.jp