hevertonfreitas/cakephp-audit-log

为 CakePHP 设计的日志插件。在更改完成后,它会捕捉完全填充的对象的快照,并在更新操作的情况下记录每个单独的更改。

4.0.0 2019-12-16 13:55 UTC

This package is auto-updated.

Last update: 2024-09-09 15:31:49 UTC


README

Build Status Latest Stable Version Total Downloads Latest Unstable Version codecov License

CakePHP 设计的日志插件。包含的 AuditableBehavior 为每个附加的模型实例创建审计历史。

该行为在两个层面上跟踪更改。在更改完成后,它会捕捉完全填充的对象的快照,并在更新操作的情况下记录每个单独的更改。

功能

  • 支持 CakePHP 4.0
  • 跟踪对象快照以及单个属性更改。
  • 允许将每个修订记录附加到更改的责任人(通常是用户)。
  • 允许开发者忽略指定属性的更改。默认情况下忽略名为 createdupdatedmodified 的属性,但这些值可以被覆盖。
  • 处理 HABTM 关联的更改。
  • 不要求或依赖显式模型修订(AuditLog)和差异(AuditLogDeltas)的存在。

安装

您可以使用 composer 将此插件安装到您的 CakePHP 应用程序中。

安装 composer 包的推荐方法是

composer require hevertonfreitas/cakephp-audit-log

使用以下命令加载插件

bin/cake plugin load AuditLog

或者通过手动在 src/Application.php 的引导方法中添加 $this->addPlugin('AuditLog');

然后,运行必要的迁移

bin/cake migrations migrate -p AuditLog

下一步

  1. 如果需要,创建一个 currentUser() 方法。

    AuditableBehavior 可选地允许每个更改集由一个“来源”(通常是负责更改的用户)拥有。由于用户和认证模型差异很大,该行为支持一个回调方法,该方法应返回要存储为更改来源的值(如果有的话)。

    currentUser() 方法必须对每个希望跟踪更改来源的模型都可用。它应该返回一个包含键 id 的数组,描述更改记录的用户的主键。

使用

AuditableBehavior 应用于模型基本上与将任何其他 CakePHP 行为应用于模型相同。该行为确实提供了一些配置选项

`ignore`
一个属性名称数组,在创建差异表中的记录时要忽略。
`habtm`
一个模型数组,这些模型与操作模型有 HABTM 关系,并且其更改应与模型一起监控。如果 HABTM 模型本身是可审计的,则不要在此处包含它。此选项用于相关模型,其更改仅相对于操作模型进行跟踪。

许可证

此代码受 MIT 许可证 许可。

注意

请随时在工单中提交错误报告或建议改进。如果愿意,可以分叉此项目并自行改进。欢迎贡献。