mrananyan / parrot
An long polling stack for PHP-based real-time applications
1.0.0
2021-03-28 18:05 UTC
Requires
- predis/predis: 1.1.6
Requires (Dev)
- phpunit/phpunit: ^9.5
README
An easy to use Facebook like long polling stack for PHP-based real-time applications
Demo
Requirements
- Redis
- PHP-FPM
- Nginx
Installation
composer require mrananyan/parrot:1.0.0
How setup
- Configuration
If you want to connect via TCP (Recommended for remote server)
$parameters = [ 'scheme' => 'tcp', 'host' => '127.0.0.1', 'port' => 6379, ];
If you want to connect via UNIX socket (Recommended if Redis on same server)
$parameters = [ 'scheme' => 'unix', 'path' => '/var/run/redis/redis.sock', ];
- Worker. You can subscribe to many channels at once if you need. ('chanel1','chanel2' ...)
use Parrot\Server\Worker; $parrotWorker = new Worker($parameters); $messages = $parrotWorker->subscribe('myChanel'); echo json_encode($messages);
- Publisher. Send message to users who subscribed to myChanel chanel
use Parrot\Client\Publisher; $publisher = new Publisher($parameters); $publisher->set('myChanel', 'Your message string here');