infw / pug
Pug template engine for InFw and Zend Expressive
0.1.2
2018-03-28 20:25 UTC
Requires
- php: ^7.1
- pug-php/pug: ^3.1
- zendframework/zend-diactoros: ^1.7.1
- zendframework/zend-expressive: ^3.0.0
Requires (Dev)
- leanphp/phpspec-code-coverage: ^3.0
- phpspec/phpspec: ^3.0
- phpstan/phpstan: ^0.9.2
- phpunit/phpunit: ^5.7.21
- squizlabs/php_codesniffer: ^2.3
- zendframework/zend-component-installer: ^2.1
- zendframework/zend-expressive-tooling: ^1.0
README
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.