digitalindoorsmen/laravel-actor-trails
Composer 安装命令:
composer require digitalindoorsmen/laravel-actor-trails
包简介
Track created_by, modified_by, and deleted_by as JSON objects in your Laravel models, with support for multiple guards and polymorphic actors.
关键字:
README 文档
README
Track created_by, modified_by, and deleted_by as JSON objects in your Laravel models, with support for multiple guards and polymorphic actors.
✨ What It Does
This package automatically tracks who created, modified, or deleted your Eloquent models.
Instead of just storing a raw user_id, it stores a self‑contained JSON object with details about the actor at the time of the action:
{
"id": "16",
"user_type": "Admin",
"auth_table": "users",
"display_name": "Kelly Montannavue"
}
This makes your audit trails:
- Polymorphic → works with multiple authenticatable models (
User,Admin,Member, etc.) - Immutable → keeps a snapshot of the actor’s display name and type, even if the user record changes later
- Automatic → hooks into Eloquent events (
creating,updating,deleting) - Configurable → choose which attributes to store in the JSON
🚀 Installation
You can install the package via composer:
composer require digitalindoorsmen/laravel-actor-trails
Publish the config file:
php artisan vendor:publish --tag="laravel-actor-trails-config"
Generate a migration for a specific table:
php artisan actor-trails:add posts php artisan migrate
This will add created_by, modified_by, and deleted_by JSON columns to the posts table.
⚡ Usage
Add the HasActorTrails trait to any model you want to track:
use DigitalIndoorsmen\LaravelActorTrails\Traits\HasActorTrails; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\SoftDeletes; class Post extends Model { use HasActorTrails, SoftDeletes; protected $fillable = ['title', 'body']; }
Now whenever you create, update, or soft delete a Post, the actor will be stored automatically:
$post = Post::create(['title' => 'Hello World']); // Example created_by value: [ "id" => 1, "user_type" => "User", "auth_table" => "users", "display_name" => "Alice" ]
⚙️ Config
The published config file (config/actor-trails.php) lets you define which attributes are stored:
return [ 'attributes' => [ 'id' => fn($user) => $user->getAuthIdentifier(), 'user_type' => fn($user) => class_basename($user), 'auth_table' => fn($user) => $user->getTable(), 'display_name' => fn($user) => $user->name ?? $user->username ?? 'Unknown', ], ];
You can override this per model if needed.
🧪 Testing
composer test
📜 Changelog
Please see CHANGELOG for more information on what has changed recently.
🤝 Contributing
Please see CONTRIBUTING for details.
🔒 Security
Please review our security policy on how to report security vulnerabilities.
👏 Credits
📄 License
The MIT License (MIT). Please see License File for more information.
digitalindoorsmen/laravel-actor-trails 适用场景与选型建议
digitalindoorsmen/laravel-actor-trails 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 0 次下载、GitHub Stars 达 0, 最近一次更新时间为 2025 年 08 月 26 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「Audit」 「Blameable」 「laravel」 「created_by」 「updated_by」 「deleted_by」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 digitalindoorsmen/laravel-actor-trails 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 digitalindoorsmen/laravel-actor-trails 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 digitalindoorsmen/laravel-actor-trails 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Log adding/updating/deleting of elements
Doctrine ORM provider for the auditor audit-log library.
Doctrine2 behavior traits - slowhop fork
Doctrine Behavior Traits for symfony 7+ and Doctrine DBAL 4+ and Doctrine ORM 3+
PB Web Media Audit Bundle for Symfony
Doctrine2 behavior traits
统计信息
- 总下载量: 0
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 33
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2025-08-26