The MySQL Trigger component for Hyperf.

Maintainers

πŸ‘ huangdijia

Package info

github.com/friendsofhyperf/trigger

Issues

Documentation

pkg:composer/friendsofhyperf/trigger

Fund package maintenance!

huangdijia

hdj.me/sponsors

Statistics

Installs: 7 002

Dependents: 0

Suggesters: 0

Stars: 6

v3.2.0 2026-06-07 13:32 UTC

Requires (Dev)

None

Suggests

Provides

None

Conflicts

None

Replaces

None

MIT 91212beec51bc7d5cd0d57cbd2a745fe2f22c8dc

  • huangdijia <huangdijia.woop@gmail.com>

hyperfv3.2

This package is auto-updated.

Last update: 2026-06-17 01:07:12 UTC


README

δΈ­ζ–‡θ―΄ζ˜Ž

πŸ‘ Latest Stable Version
πŸ‘ Total Downloads
πŸ‘ License

MySQL trigger component for Hyperf, Based on a great work of creators:krowinski/php-mysql-replication

Installation

  • Request
composer require friendsofhyperf/trigger
  • Publish
php bin/hyperf.php vendor:publish friendsofhyperf/trigger

Add listener

// config/autoload/listeners.php

return [
 FriendsOfHyperf\Trigger\Listener\BindTriggerProcessesListener::class => PHP_INT_MAX,
];

Define a trigger

namespace App\Trigger;

use FriendsOfHyperf\Trigger\Annotation\Trigger;
use FriendsOfHyperf\Trigger\Trigger\AbstractTrigger;
use MySQLReplication\Event\DTO\EventDTO;

#[Trigger(table:"table", events:["*"], connection:"default")]
class FooTrigger extends AbstractTrigger
{
 public function onWrite(array $new)
 {
 var_dump($new);
 }

 public function onUpdate(array $old, array $new)
 {
 var_dump($old, $new);
 }

 public function onDelete(array $old)
 {
 var_dump($old);
 }
}

Define a subscriber

namespace App\Subscriber;

use FriendsOfHyperf\Trigger\Annotation\Subscriber;
use FriendsOfHyperf\Trigger\Subscriber\AbstractSubscriber;
use MySQLReplication\Event\DTO\EventDTO;

#[Subscriber(connection:"default")]
class BarSubscriber extends AbstractSubscriber
{
 protected function allEvents(EventDTO $event): void
 {
 // some code
 }
}

Contact

License

MIT