CentrifugoBundle
đ
Features - Compatible with latest Centrifugo 2.8.6
đ - Wrapper over Centrifugo HTTP API
đ - Authentication with JWT token (HMAC algorithm) for anonymous, authenticated user and private channel
đī¸ - Batch request in JSON streaming format
đĒ - Console commands
âī¸ ī¸ - Integration into Symfony Web-Profiler
đī¸
đ§
Requirements - PHP 8.1
- Symfony 6.1
đą
Installation $ composer req fresh/centrifugo-bundle
By default, Symfony Flex adds this bundle to the config/bundles.php
file and adds required environment variables into .env
file.
In case when you ignored contrib-recipe
during bundle installation it would not be done. Then you have to do this manually.
config/bundles.php
file
Check the # config/bundles.php
return [
// Other bundles...
Fresh\CentrifugoBundle\FreshCentrifugoBundle::class => ['all' => true],
// Other bundles...
];
.env
file and add you configuration
Check the # .env
###> fresh/centrifugo-bundle ###
CENTRIFUGO_API_KEY=secret-api-key
CENTRIFUGO_API_ENDPOINT=http://localhost:8000/api
CENTRIFUGO_SECRET=secret
###< fresh/centrifugo-bundle ###
đ§âđ
Using Centrifugo service
<?php
declare(strict_types=1);
namespace App\Service;
use Fresh\CentrifugoBundle\Service\CentrifugoInterface;
class YourService
{
private CentrifugoInterface $centrifugo;
public function __construct(CentrifugoInterface $centrifugo)
{
$this->centrifugo = $centrifugo;
}
public function example(): void
{
$this->centrifugo->publish(['foo' => 'bar'], 'channelA');
}
}
đī¸
Authentication with JWT tokens
âī¸
Console commands centrifugo:publish
centrifugo:broadcast
centrifugo:unsubscribe
centrifugo:disconnect
centrifugo:presence
centrifugo:presence-stats
centrifugo:history
centrifugo:history-remove
centrifugo:channels
centrifugo:info
đī¸
Integration into Symfony Web-Profiler
đ¤
Contributing Read the CONTRIBUTING file.