sygytyr / yii2-mustache
Mustache templating for the Yii Framework.
Installs: 1
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 1
Open Issues: 0
Type:yii2-extension
Requires
- php: >=7.1.0
- ext-json: *
- ext-mbstring: *
- ext-pcre: *
- mustache/mustache: ^2.12.0
- psr/log: ^1.0.2
- yiisoft/yii2: ^2.0.13
Requires (Dev)
- cedx/coveralls: ^6.0.0
- cedx/phpunit-expect: ^0.4.0
- phing/phing: ^2.16.0
This package is auto-updated.
Last update: 2025-02-13 13:21:26 UTC
README
Mustache templating for Yii, high-performance PHP framework.
This package provides a view renderer, the yii\mustache\ViewRenderer
class.
This renderer allows to use Mustache syntax in view templates.
Requirements
The latest PHP and Composer versions. If you plan to play with the sources, you will also need the latest Phing version.
Installing via Composer
From a command prompt, run:
$ composer global require fxp/composer-asset-plugin $ composer require sygytyr/yii2-mustache
Configuring application
In order to start using Mustache you need to configure the view
application component, like the following:
use yii\mustache\{ViewRenderer}; use yii\web\{View}; return [ 'components' => [ 'view' => [ 'class' => View::class, 'renderers' => [ 'mustache' => ViewRenderer::class ] ] ] ];
After it's done you can create templates in files that have the .mustache
extension (or use another file extension but
configure the component accordingly). Unlike standard view files, when using Mustache you must include the extension
in your $this->render()
controller call:
return $this->render('template.mustache', [ 'model' => 'The view model' ]);
Template Syntax
The best resource to learn Mustache basics is its official documentation you can find at mustache.github.io. Additionally there are Yii-specific syntax extensions described below.
Variables
Within Mustache templates the following variables are always defined:
app
: theYii::$app
instance.this
: the currentView
object.yii.debug
: theYII_DEBUG
constant.yii.devEnv
: theYII_ENV_DEV
constant.yii.prodEnv
: theYII_ENV_PROD
constant.yii.testEnv
: theYII_ENV_TEST
constant.
Lambdas
format
: provides a set of commonly used data formatting methods.html
: provides a set of methods for generating commonly used HTML tags.i18n
: provides features related with internationalization (I18N) and localization (L10N).url
: provides a set of methods for managing URLs.
Partials
There are two ways of referencing partials:
{{> post }}
{{> @app/views/layouts/2columns }}
In the first case the view will be searched relatively to the current view path. For post.mustache
that means these will be searched in the same directory as the currently rendered template.
In the second case we're using path aliases. All the Yii aliases such as @app
are available by default.
See also
License
Mustache for Yii is distributed under the MIT License.