Symfony bundle to add arbitrary metadata to classes and their constants by annotation

Installs: 3 476

Dependents: 0

Suggesters: 0

Security: 0

Stars: 1

Watchers: 1

Forks: 1

Open Issues: 0


6.0.0 2019-07-04 08:50 UTC

This package is auto-updated.

Last update: 2020-08-04 11:27:40 UTC


Symfony bundle for my Class Meta library. This allows you to attach arbitrary metadata to classes and their constants via annotation.


To install via composer, use the following command:

$ composer require ashleydawson/class-meta-bundle

And then add the bundle to the AppKernel#registerBundles() method:

$bundles = [
    // ...
    new AshleyDawson\ClassMetaBundle\AshleyDawsonClassMetaBundle(),


Configuration allows you to set a cache provider. By default the cache provider is ArrayCache - so in production, I'd advise you change this to a more persistent cache strategy:

# app/config/config.yml

        class: Doctrine\Common\Cache\FilesystemCache
        arguments: [ "%kernel.cache_dir%/ashleydawson/class_meta" ]

    cache_provider_service_id: my_class_meta_cache_provider # Cache provider service ID (optional)
    cache_provider_ttl: 300 # 5 minutes TTL (optional)

Note: The cache is invalidated by file modify time, but if you want to also add a TTL (Time-to-live) to the cache it can be done via the cache_provider_ttl parameter.

Note: To disable the cache, simply pass the id of a Doctrine\Common\Cache\VoidCache service.

Basic Usage

To use the meta cache manager service in a controller, simply do:

public function indexAction()
    $meta = $this->get('ashleydawson.class_meta')->getClassConstantsMeta('AppBundle\Enum\MyEnum');

For more documentation, please see the full library readme.