ashleydawson/class-meta-bundle

Symfony 扩展包,通过注解向类及其常量添加任意元数据

安装次数: 5,882

依赖者: 0

建议者: 0

安全性: 0

星级: 1

关注者: 2

分支: 0

开放问题: 0

类型:symfony-bundle

6.0.0 2019-07-04 08:50 UTC

This package is auto-updated.

Last update: 2024-09-04 21:01:27 UTC


README

Symfony 扩展包,用于我的 Class Meta 库。这允许您通过注解将任意元数据附加到类及其常量。

安装

要通过 composer 安装,请使用以下命令

$ composer require ashleydawson/class-meta-bundle

然后,将扩展包添加到 AppKernel#registerBundles() 方法中

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

配置

配置允许您设置缓存提供程序。默认的缓存提供程序是 ArrayCache - 因此,在生产环境中,我建议您将其更改为更持久的缓存策略

# app/config/config.yml

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

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

注意: 缓存通过文件修改时间进行失效,但如果您希望向缓存添加 TTL(有效时间),可以通过 cache_provider_ttl 参数实现。

注意: 要禁用缓存,只需传递一个 Doctrine\Common\Cache\VoidCache 服务的 ID 即可。

基本用法

要在控制器中使用元数据缓存管理服务,只需做以下操作

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

有关更多信息,请参阅 完整库的 README