Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Audit Kit Bundle

CI Packagist Version Packagist Downloads License PHP Symfony GitHub stars Coverage

Found this useful? Install from Packagist and give the repo a star on GitHub.

Symfony + Doctrine bundle for automatic auditing fields on any opt-in entity:

Field Set on
createdAt / updatedAt prePersist + preUpdate (timestamps only on update)
createdBy / updatedBy When an authenticated user is present (nullable in CLI)

Complements nowo-tech/user-kit-bundle (account state / presence) and nowo-tech/auth-kit-bundle (auth flows).

FrankenPHP Friendly Worker Mode

This bundle is FrankenPHP worker mode friendly.

Features

  • Optional traits: TimestampableTrait, BlameableTrait, AuditableTrait
  • Doctrine entity listener (prePersist / preUpdate)
  • Named profiles — separate field mapping and flags per user entity (User, Admin, …) with O(1) class resolution
  • Configurable property names and user_class
  • Per-entity opt-out via #[Auditable(enabled: false)]
  • Guest / CLI safe — blame fields stay null without errors

Requirements

  • PHP 8.2+
  • Symfony 7.4 | 8.x
  • Doctrine ORM 2.15+ | 3.x

Quick start

composer require nowo-tech/audit-kit-bundle
# config/packages/nowo_audit_kit.yaml
nowo_audit_kit:
    default_profile: default
    profiles:
        default:
            user_class: App\Entity\User

The legacy flat layout (user_class at root) remains supported. See Configuration.

use Nowo\AuditKitBundle\Model\AuditableTrait;

class Article
{
    use AuditableTrait;
}

Development

make up
make test-coverage
make release-check

Demo

make -C demo/symfony8 up   # http://localhost:8013 (default PORT)

Each demo persists entities with automatic audit columns (see demo/symfony8/src/Entity/Article.php and LegacyRecord.php for audited vs opt-out). See demo/symfony8/README.md and docs/DEMO-FRANKENPHP.md for FrankenPHP setup (including worker mode for production).

Tests and coverage

  • Tests: PHPUnit (unit + integration)
  • PHP: 100%
  • TS/JS: N/A
  • Python: N/A

Compatibility: PHP 8.2+ · Symfony 7.4 / 8.0 / 8.1 (CI matrix).

License

MIT — see LICENSE.

Documentation

Additional documentation

Package

  • Composer: nowo-tech/audit-kit-bundle
  • Config root: nowo_audit_kit

About

Symfony + Doctrine bundle for automatic created/updated timestamps and blame fields on opt-in entities.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages