b2r / twig
Twig descendants
v0.2.1
2017-03-27 03:23 UTC
Requires
- php: >=7.0
- b2r/simple-accessor: ~0.1
- twig/twig: ~2.0
This package is not auto-updated.
Last update: 2024-11-10 03:25:54 UTC
README
Twig composition
Features
- Fluent interface
- Smart loader
- Context container
Simple Usage
use b2r\Component\Twig\Twig; $twig = new Twig(); echo $twig ->template('hello', 'Hello, {{ name }}') // Define 'hello' template and 'hello' as current template ->name('world') // Set name context ; #=>'Hello, world' invoke __toString()
With template, filter, function, global
use b2r\Component\Twig\Twig; $twig = new Twig(__DIR__ . '/templates'); $twig->addSuffix('.twig'); $twig->addFilters([ 'l' => function ($value) { return strtolower($value); }, 'u' => function ($value) { return strtoupper($value); }, ]); $twig->addFunctions([ 'x2' => function ($value) { return $value * 2; }, ]); $twig->addGlobals([ 'foo' => 'FOO', 'bar' => 'BAR', 'baz' => 'BAZ', ]); echo $twig->template('hello')->name('world');
hello.twig
Hello, {{ name }}
Hello, {{ name|u }}
Hello, {{ name|l }}
Hello, {{ foo }}
Hello, {{ bar }}
Hello, {{ baz }}
Score: {{ x2(100) }}
outputs
Hello, world
Hello, WORLD
Hello, world
Hello, FOO
Hello, BAR
Hello, BAZ
Score: 200