binary-cats/fireable-attribute-events
最新稳定版本:1.2.0
Composer 安装命令:
composer require binary-cats/fireable-attribute-events
包简介
Observe and trigger events based on attributes changes
README 文档
README
Fireable Attribute Events
Observe and trigger events based on Eloquent model attributes changes
Installation
You can install the package via Composer:
composer require binary-cats/fireable-attribute-events
Usage
Add the FireableAttributes Trait to Your Model:
In any Eloquent model where you want to fire events on attribute changes,
use the FireableAttributes trait and define a fireableAttributes array:
use App\Events\OrderStatusChanged; use App\Events\OrderMarkedHighPriority; use App\Events\OrderMarkedUrgent; use BinaryCats\FireableAttributeEvents\FireableAttributes; use Illuminate\Database\Eloquent\Model; class Order extends Model { use FireableAttributes; protected array $fireableAttributes = [ 'status' => OrderStatusChanged::class, 'priority' => [ 'high' => OrderMarkedHighPriority::class, 'urgent' => \OrderMarkedUrgent::class, ], ]; }
- Direct mapping: If status changes, it fires OrderStatusChanged.
- Value-based mapping: If priority changes to 'high', it fires OrderMarkedHighPriority; if 'urgent', it fires OrderMarkedUrgent.
Each event should accept the model as a constructor parameter.
Events Fire Automatically When Attributes Change.
Once a model using FireableAttributes is updated, the package will automatically dispatch the corresponding event:
$order = Order::find(1); $order->update(['status' => 'shipped']); // 🚀 Fires OrderStatusChanged event $order->update(['priority' => 'urgent']); // 🚀 Fires OrderMarkedUrgent event
Testing
vendor/bin/pest
Contributing
Please see CONTRIBUTING for details.
Security
If you discover any security related issues, please email cyrill.kalita@gmail.com instead of using issue tracker.
Postcardware
You're free to use this package, but if it makes it to your production environment we highly appreciate you sending us a postcard from your hometown, mentioning which of our package(s) you are using.
Credits
Support us
Binary Cats is a webdesign agency based in Illinois, US.
License
The MIT License (MIT). Please see License File for more information.
统计信息
- 总下载量: 12
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2025-02-10