skoniks / php_cent
Centrifugo (Centrifuge) [1.0+] PHP Server REDIS & HTTP API implementation for Laravel 5+
Installs: 2 720
Dependents: 0
Suggesters: 0
Security: 0
Stars: 7
Watchers: 2
Forks: 1
Open Issues: 0
Requires
README
Centrifugo (Centrifuge) [1.0+] PHP Server REDIS & HTTP API implementation for Laravel 5+ Incompatible with Centrifugo [2.0+], will be updated later!
Base Installation
- Run
composer require skoniks/php_cent
&composer update
- Create
config/centrifugo.php
as provided below - Add alias in
config/app.php
as provided below
For laravel 5.5+ use version >= "2.5"
Config example config/centrifugo.php
Alias additions config/app.php
'aliases' => [ ... 'Centrifugo'=> SKONIKS\Centrifugo\Centrifugo::class, ]
Setting redis as transport
- Add your redis connection to
config/database.php
- Change
config/centrifugo.php
to redis settings
Adding redis connection config/database.php
... 'redis' => [ ... 'centrifugo' => [ 'host' => '127.0.0.1', 'password' => '', 'port' => 6379, 'database' => 1, ], ], ...
Redis supported transport
Make shure that HTTP connection must work independently from redis connection. It is because redis transport provides only this methods:
- 'publish'
- 'broadcast'
- 'unsubscribe'
- 'disconnect'
Redis dont provide this methods:
- presence
- history
- channels
- stats
- node
[Module usage || sending your requests] example
<?php use Centrifugo; class Controller { public function _function(){ // declare Centrifugo $centrifugo = new Centrifugo(); // generating token example $current_time = time(); $user_id = '1234567890'; $token = Centrifugo::token($user_id, $current_time, 'custom info'); // publishing example $centrifugo->publish("channel" , ["custom data"]); // list of awailible methods: $response = $centrifugo->publish($channel, $data); $response = $centrifugo->unsubscribe($channel, $user_id); $response = $centrifugo->disconnect($user_id); $response = $centrifugo->presence($channel); $response = $centrifugo->history($channel); $response = $centrifugo->channels(); $response = $centrifugo->stats(); $response = $centrifugo->node(); $token = Centrifugo::token($user_id, $timestamp, $info); // $response == false | when error }