adaojunior / laravel-postgresql-broadcast-driver
Postgresql broadcasting events driver for Laravel
Installs: 1 076
Dependents: 0
Suggesters: 0
Security: 0
Stars: 7
Watchers: 1
Forks: 3
Open Issues: 0
Requires
- laravel/framework: ~5.1
This package is auto-updated.
Last update: 2024-11-22 10:10:57 UTC
README
Installation
Using Composer:
composer require adaojunior/laravel-postgresql-broadcast-driver
In your config/app.php file add the following provider to your service providers array:
'providers' => [ ... Adaojunior\PostgreSqlBroadcastDriver\BroadcastServiceProvider::class, ... ]
In your config/broadcasting.php file set the default driver to 'postgresql' and add the connection configuration like so:
'default' => 'postgresql', 'connections' => [ ... 'postgresql' => [ 'driver' => 'postgresql', 'connection' => env('BROADCAST_PG_DB','pgsql') ] ... ]
Usage
Add a custom broadcast event to your application like so:
namespace App\Events; use Illuminate\Contracts\Broadcasting\ShouldBroadcast; class Message extends Event implements ShouldBroadcast { protected $message; public function __construct($message) { $this->message= $message; } public function broadcastOn() { return ['MessageChannel']; } public function broadcastWith() { return ['message' => $this->message]; } }
Now to publish in your application simply fire the event:
event(new App\Events\Message('Test publish!!!'));
NodeJS Client (optional)
npm install pg-pubsub --save
// server.js var PGPubsub = require('pg-pubsub'); var instance = new PGPubsub('postgres://homestead:secret@localhost/homestead'; instance.addChannel('MessageChannel', function (payload) { console.log(payload); });