adrianglazer/doctrine-footprint-extension

此扩展为实体创建、更新和删除提供了时间戳和用户行为跟踪。

v1.0.5 2019-05-20 17:29 UTC

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']

结论

如果一切设置正确,您的实体将在每个用户行为上自动更新。这是一个专为简单项目设计的开箱即用解决方案。