Awesome
Expressive Phug Template Renderer
Zend Expressive template renderer based on PHP Pug template engine
Installation
Install with composer
For Zend expressive 3
composer require infw/pug
For Zend expressive 2
composer require infw/pug:0.0.2
Enable config provider
<?php
// config/config.php
use Zend\ConfigAggregator\ArrayProvider;
use Zend\ConfigAggregator\ConfigAggregator;
use Zend\ConfigAggregator\PhpFileProvider;
// To enable or disable caching, set the `ConfigAggregator::ENABLE_CACHE` boolean in
// `config/autoload/local.php`.
$cacheConfig = [
'config_cache_path' => 'data/cache/config-cache.php',
];
$aggregator = new ConfigAggregator([
\InFw\Pug\ConfigProvider::class,
...
new PhpFileProvider('config/autoload/{{,*.}global,{,*.}local}.php'),
// Load development config if it exists
new PhpFileProvider('config/development.config.php'),
], $cacheConfig['config_cache_path']);
return $aggregator->getMergedConfig();
Enable dependencies
<?php
// config/autoload/templates.global
use Zend\Expressive\Template\TemplateRendererInterface;
use InFw\Pug\PugRendererFactory;
return [
'dependencies' => [
'factories' => [
TemplateRendererInterface::class => PugRendererFactory::class,
],
],
'templates' => [
'extension' => 'pug',
],
];
Config options
// config/autoload/templates.global.php
...
'pug' => [
'pretty' => true,
'expressionLanguage' => 'js',
'pugjs' => false,
'localsJsonFile' => false,
'cache' => 'data/cache/pug',
'template_path' => 'templates/',
'default_params' => [
// globals go here option will be deprecate on 1.0.0 version
// '*' => [
// param => mixed value
// ]
// template default params
// 'template_path::name' => [
// param => mixed value
// ]
],
'filters' => [
// filter_name => invokable class
],
'keywords' => [
// keyword => invokable class
],
'helpers' => [
// helper_name => invokable class
]
],
...
See full PHP Pug documentation for more detail.