adrianglazer / doctrine-footprint-extension
此扩展为实体创建、更新和删除提供了时间戳和用户行为跟踪。
v1.0.5
2019-05-20 17:29 UTC
Requires
- php: >=7.1.3
- doctrine/orm: ^2.6
- symfony/security-core: ^4.2
This package is auto-updated.
Last update: 2024-09-21 20:36:09 UTC
README
此扩展为实体创建、更新和删除提供了时间戳和用户行为跟踪。
通过仅使用一个特性和监听器,您可以自动更新创建时间、创建者、更新时间、更新者、删除时间和删除者。
监听器会自动将日期时间和用户名设置到包含所述字段的每个实体中。
安装
composer require adrianglazer/DoctrineFootprintExtension
配置
默认情况下,所有功能都启用,包括软删除。如果您想禁用软删除,您需要创建一个自己的特型,不包含deletedAt和deletedBy字段。
您必须在config/packages/doctrine.yaml
中设置一个doctrine过滤器配置
doctrine:
dbal:
...
orm:
...
mappings:
...
filters:
footprint:
class: Glazer\DoctrineFootprintExtension\Filter\FootprintFilter
enabled: true
并在config/services.yaml
中设置一个监听器
Glazer\DoctrineFootprintExtension\Listener\FootprintListener:
class: Glazer\DoctrineFootprintExtension\Listener\FootprintListener
autowire: true
tags:
- { name: doctrine.event_subscriber }
arguments: ['@security.token_storage']
结论
如果一切设置正确,您的实体将在每个用户行为上自动更新。这是一个专为简单项目设计的开箱即用解决方案。