intellect-web-development / templator-symfony-bundle
用于渲染模板的Templator Symfony包
1.0.5
2023-09-24 13:08 UTC
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: ^6.3
- symfony/phpunit-bridge: ^6.3
- symfony/test-pack: ^1.0
- vimeo/psalm: ^5.15
README
示例
简单示例
$renderable = new Renderable( template: 'My first {{variable}} content', variables: [ 'variable' => 'rendered', ] ); echo $renderer->render($renderable); // 'My first rendered content'
对象示例
$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!'
数组示例
$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!'
过滤器示例
$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!'
过滤器示例
$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'