binary-cats/fireable-attribute-events 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

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

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2025-02-10