ashleydawson / class-meta-bundle
Symfony 扩展包,通过注解向类及其常量添加任意元数据
6.0.0
2019-07-04 08:50 UTC
Requires
- php: >=7.1
- ashleydawson/class-meta: ^2.0
- symfony/framework-bundle: ^3.0|^4.0
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。