intellect-web-development / templator-symfony-bundle
Templator Symfony bundle for render template
Installs: 844
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
Type:symfony-bundle
Requires
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.23
- overtrue/phplint: ^9.0
- phpstan/phpstan: ^1.10
- phpunit/phpunit: ^10.3
- rector/rector: ^0.18.0
- symfony/framework-bundle: *
- symfony/phpunit-bridge: *
- symfony/test-pack: ^1.0
- vimeo/psalm: ^5.15
README
Examples
Simple example:
$renderable = new Renderable( template: 'My first {{variable}} content', variables: [ 'variable' => 'rendered', ] ); echo $renderer->render($renderable); // 'My first rendered content'
Object examples:
$renderable = new Renderable( template: 'My name is {{ obj.name }}!', variables: [ 'obj' => $obj = new stdClass(), ] ); $obj->name = 'Templator'; echo $renderer->render($renderable); // 'My name is Templator!'
$renderable = new Renderable( template: 'My name is {{ obj.name.first }} {{ obj.name.last }}!', variables: [ 'obj' => new class () { public object $name; public function __construct() { $this->name = new class () { public string $first = 'Templator'; public string $last = 'Symfony'; }; } }, ] ); echo $renderer->render($renderable); // 'My name is Templator Symfony!'
Array example:
$renderable = new Renderable( template: 'My name is {{ obj.name.first }} {{ obj.name.last }}!', variables: [ 'obj' => [ 'name' => [ 'first' => 'ivan', 'last' => 'petrov', ], ], ] ); echo $renderer->render($renderable); // 'My name is ivan petrov!'
Filter example:
$renderable = new Renderable( template: 'My name is {{ obj.name.first | classify }} {{ obj.name.last | classify }}!', variables: [ 'obj' => [ 'name' => [ 'first' => 'ivan', 'last' => 'petrov', ], ], ] ); echo $renderer->render($renderable); // 'My name is Ivan Petrov!'
Filters example:
$renderable = new Renderable( template: '{{a | classify}} {{b | constantize}}, {{c | pluralize | classify}} {{d | pluralize}}', variables: [ 'a' => 'hello', 'b' => 'world', 'c' => 'summer', 'd' => 'day', ] ); echo $renderer->render($renderable); // 'Hello WORLD, Summers days'