Skip to content

Latest commit

 

History

History
88 lines (64 loc) · 1.93 KB

README.md

File metadata and controls

88 lines (64 loc) · 1.93 KB

Trigger

Latest Stable Version Total Downloads GitHub license

MySQL trigger component for Hyperf, Based on a great work of creators:moln/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", on:"*", 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\AbstractEventSubscriber;
use MySQLReplication\Event\DTO\EventDTO;

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

Contact

License

MIT