- Notifications
You must be signed in to change notification settings - Fork4
Simplify access of your class constants in Twig
License
jdecool/TwigConstantAccessorBundle
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
This bundle simplify access of your enum values or class constants in Twig.
Install extension usingcomposer:
composer require jdecool/twig-constant-accessor-bundle
If you don't use Symfony Flex, you have to enabled the bundle in yourconfig/bundles.php
configuration:
<?phpreturn [// ...JDecool\Bundle\TwigConstantAccessorBundle\JDecoolTwigConstantAccessorBundle::class => ['all' =>true],];
Register the class you want to access constant in your configuration file :
twig_constant_accessor:classes: -AppBundle\Model\Foo -{ class: 'AppBundle\Model\Bar' } -{ class: 'AppBundle\Model\FooBar', alias: 'FooBarAlias' } -{ class: 'AppBundle\Model\ConstantClass', matches: '/^RULE_/' }# matches accept an regexp compatible with the preg_match function
You can also register a class in your container configuration using thetwig.constant_accessor
tag :
services:my_service:class:Namespace\To\ServiceClasstags: -{ name: twig.constant_accessor }my_collection:class:MyClasstags: -{ name: twig.constant_accessor, alias: 'MyClassAlias' }filtered_constants:class:ConstantsClasstags: -{ name: twig.constant_accessor, matches: '/^RULE_/' }# matches accept an regexp compatible with the preg_match function
Or you can use the#[AsTwigConstantAccessor]
attribute on your class :
useJDecool\Bundle\TwigConstantAccessorBundle\Annotation\AsTwigConstantAccessor;#[AsTwigConstantAccessor]class MyClass{// ...}
After you can access your class constant in your templates :
{{ServiceClass.MY_CONSTANT }}{{MyClassAlias.KEY }}{%if'value'==ServiceClass.My_CONSTANT %}Test is OK{%endif %}
About
Simplify access of your class constants in Twig
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Uh oh!
There was an error while loading.Please reload this page.
Contributors3
Uh oh!
There was an error while loading.Please reload this page.