2017 © Pedro PelĂĄez
 

symfony-bundle twig-constant-accessor-bundle

Simplify access of your class constants in Twig

image

jdecool/twig-constant-accessor-bundle

Simplify access of your class constants in Twig

  • Saturday, July 14, 2018
  • by jdecool
  • Repository
  • 2 Watchers
  • 5 Stars
  • 641 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 2 Forks
  • 0 Open issues
  • 8 Versions
  • 2 % Grown

The README.md

TwigConstantAccessorBundle

Build Status Latest Stable Version, (*1)

This bundle simplify access of your enum values or class constants in Twig., (*2)

Install it

Install extension using composer:, (*3)

composer require jdecool/twig-constant-accessor-bundle

If you don't use Symfony Flex, you have to enabled the bundle in your config/bundles.php configuration:, (*4)

<?php

return [
    // ...
    JDecool\Bundle\TwigConstantAccessorBundle\JDecoolTwigConstantAccessorBundle::class => ['all' => true],
];

Register the class you want to access constant in your configuration file :, (*5)

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 the twig.constant_accessor tag :, (*6)

services:
    my_service:
        class: Namespace\To\ServiceClass
        tags:
            - { name: twig.constant_accessor }

    my_collection:
        class: MyClass
        tags:
            - { name: twig.constant_accessor, alias: 'MyClassAlias' }

    filtered_constants:
        class: ConstantsClass
        tags:
            - { 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 :, (*7)

use JDecool\Bundle\TwigConstantAccessorBundle\Annotation\AsTwigConstantAccessor;

#[AsTwigConstantAccessor]
class MyClass
{
    // ...
}

After you can access your class constant in your templates :, (*8)

{{ ServiceClass.MY_CONSTANT }}
{{ MyClassAlias.KEY }}

{% if 'value' == ServiceClass.My_CONSTANT %}Test is OK{% endif %}

The Versions

27/10 2016

1.2.0

1.2.0.0 http://github.com/jdecool/TwigConstantAccessorBundle

Simplify access of your class constants in Twig

  Sources   Download

MIT

The Requires

 

The Development Requires

twig symfony constant

09/09 2016

1.1.1

1.1.1.0 http://github.com/jdecool/TwigConstantAccessorBundle

Simplify access of your class constants in Twig

  Sources   Download

MIT

The Requires

 

The Development Requires

twig symfony constant

20/02 2016

1.1.0

1.1.0.0 http://github.com/jdecool/TwigConstantAccessorBundle

Simplify access of your class constants in Twig

  Sources   Download

MIT

The Requires

 

The Development Requires

twig symfony constant

17/02 2016

1.0.0

1.0.0.0 http://github.com/jdecool/TwigConstantAccessorBundle

Simplify access of your class constants in Twig

  Sources   Download

MIT

The Requires

 

The Development Requires

twig symfony constant