Framework-agnostic change auditing for PHP data structures.
composer require yourvendor/model-auditoruse YourVendor\ModelAuditor\Auditor;
use YourVendor\ModelAuditor\Storage\InMemoryAuditStorage;
$auditor = new Auditor(new InMemoryAuditStorage());
$auditor->record('Invoice#42', $before, $after);
foreach ($auditor->history() as $record) {
// ...
}composer testMIT