stratify / twig-module
Twig module for Stratify
Requires
- php-di/php-di: ^6.0.0-alpha4
- stratify/router: ~0.6.0
- twig/twig: ^1.21
Requires (Dev)
- phpunit/phpunit: ^6.0
README
Pre-configuration for Twig to work with Stratify.
Installation
composer require stratify/twig-module
Then enable the stratify/twig-module
module in your Stratify application.
Usage
The Twig_Environment
instance is now injectable wherever dependency injection is available.
Example of a Stratify controller:
function (Twig_Environment $twig) { return $twig->render('home.twig'); }
Configuration
The following configuration options can be customized if needed:
-
twig.paths
: Paths containing templates to register'twig.paths' => add([ __DIR__.'/../views', ]),
Templates can then be rendered as
foo.twig
.Templates can also be namespaced, which can be useful for reusable modules:
'twig.paths' => add([ 'blog' => __DIR__.'/../views', ]),
Templates can then be rendered as
@blog/foo.twig
. -
twig.options
: Twig options'twig.options' => add([ 'strict_variables' => true, ]),
-
twig.globals
: Global variables available in templates'twig.globals' => add([ 'appName' => 'My super project', 'debug' => get('debug'), // container parameters can be injected too ]),
-
twig.extensions
: array of Twig extensions'twig.extensions' => add([ get(Twig_Extension_Profiler::class), get(My\Custom\TwigExtension::class), ]),
Recommended options for production:
'twig.options' => [ 'cache' => /* cache directory */, ],
Recommended options for development:
'twig.options' => [ 'debug' => true, 'cache' => false, 'strict_variables' => true, ],