hevertonfreitas / cakephp-audit-log
为 CakePHP 设计的日志插件。在更改完成后,它会捕捉完全填充的对象的快照,并在更新操作的情况下记录每个单独的更改。
4.0.0
2019-12-16 13:55 UTC
Requires
- php: >=7.2
- ext-json: *
- cakephp/cakephp: ^4.0
Requires (Dev)
- cakephp/cakephp-codesniffer: ^4.0
- phpunit/phpunit: ^8.0
README
为 CakePHP 设计的日志插件。包含的 AuditableBehavior
为每个附加的模型实例创建审计历史。
该行为在两个层面上跟踪更改。在更改完成后,它会捕捉完全填充的对象的快照,并在更新操作的情况下记录每个单独的更改。
功能
- 支持 CakePHP 4.0
- 跟踪对象快照以及单个属性更改。
- 允许将每个修订记录附加到更改的责任人(通常是用户)。
- 允许开发者忽略指定属性的更改。默认情况下忽略名为
created
、updated
和modified
的属性,但这些值可以被覆盖。 - 处理 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
下一步
-
如果需要,创建一个
currentUser()
方法。AuditableBehavior
可选地允许每个更改集由一个“来源”(通常是负责更改的用户)拥有。由于用户和认证模型差异很大,该行为支持一个回调方法,该方法应返回要存储为更改来源的值(如果有的话)。currentUser()
方法必须对每个希望跟踪更改来源的模型都可用。它应该返回一个包含键id
的数组,描述更改记录的用户的主键。
使用
将 AuditableBehavior
应用于模型基本上与将任何其他 CakePHP 行为应用于模型相同。该行为确实提供了一些配置选项
- `ignore`
- 一个属性名称数组,在创建差异表中的记录时要忽略。
- `habtm`
- 一个模型数组,这些模型与操作模型有 HABTM 关系,并且其更改应与模型一起监控。如果 HABTM 模型本身是可审计的,则不要在此处包含它。此选项用于相关模型,其更改仅相对于操作模型进行跟踪。
许可证
此代码受 MIT 许可证 许可。
注意
请随时在工单中提交错误报告或建议改进。如果愿意,可以分叉此项目并自行改进。欢迎贡献。