philippgrashoff / auditforatk
本包最新版本(5.0.1)没有可用的许可信息。
5.0.1
2023-10-05 15:23 UTC
Requires
- php: 8.*
- atk4/data: 5.*
- philippgrashoff/atkdatamodeltraits: 5.*
- philippgrashoff/secondarymodelforatk: 5.*
Requires (Dev)
- atk4/ui: 5.*
- phpstan/phpstan: 1.*
- phpunit/phpunit: ^9.5.25
README
这是一个为 atk4/data 扩展。它用于创建对模型和其他操作的更改的可读审计。它并不旨在添加撤销更改的功能。
最终的审计外观取决于你 - 你可以自己实现渲染。一个 Country
模型的审计示例可能如下所示
2023-04-17
14:34 Some User created this Country.
14:34 Some User set "name" to "Germny".
14:34 Some User set "iso country code" to "GER".
15:17 Another User changed "name" to "Germany".
2023-04-21
13:13 YetAnotherUser set "contitent" to "America".
15:19 Another User changed "continent" to "Europe".
15:19 Another User enabled periodic info emails for this country.
在此示例中,最后一条记录不是关于字段更改,而是审计了一个自定义操作。
内容
Audit
:此类保存审计条目的所有数据。为了高效的读取/显示,只需要created_date
、user_name
和rendered_message
字段。然而,每个审计对象还存储了重新渲染审计消息所需的所有信息,例如,如果期望的输出格式已更改,更新了一个 hasOne 关系的标题或用于翻译。AuditTrait
:此特质被添加到任何需要被审计的模型。它设置了创建、任何字段更改和删除时创建审计所需的所有钩子。对于每个模型,可以排除某些字段不被审计。AuditController
:包含创建审计的所有逻辑。如果你想要其他类型的审计而不是简单的字段审计,你需要扩展此类以适应你的需求。MessageRenderer
:与AuditController
高度耦合。它负责为每个审计生成可读的消息。你可以扩展此类以获得不同的输出格式,例如,在渲染消息中包含渲染的 HTML。结果保存在Audit
的rendered_message
字段中。