π¦ Provides communication with web-socket server Centrifugo in Symfony applications.
- Compatible with latest Centrifugo 5.4.5 π
- 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 ποΈ
- PHP >= 8.3
- Symfony 7.0
$ composer req fresh/centrifugo-bundle
Bundle Version (X.Y.Z) | PHP | Symfony | Comment |
---|---|---|---|
6.0.* |
>= 8.3 |
7.* |
Current version |
5.3.* |
>= 8.2 |
7.* |
Previous version |
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
return [
// Other bundles...
Fresh\CentrifugoBundle\FreshCentrifugoBundle::class => ['all' => true],
// Other bundles...
];
# .env
###> fresh/centrifugo-bundle ###
CENTRIFUGO_API_KEY=secret-api-key
CENTRIFUGO_API_ENDPOINT=http://localhost:8000/api
CENTRIFUGO_SECRET=secret
###< fresh/centrifugo-bundle ###
CENTRIFUGO_API_KEY
should be the same value as option api_key
in your Centrifugo config file.
CENTRIFUGO_SECRET
should be the same value as option token_hmac_secret_key
in your Centrifugo config file.
βΉοΈ Customize bundle configuration
<?php
declare(strict_types=1);
namespace App\Service;
use Fresh\CentrifugoBundle\Service\CentrifugoInterface;
class YourService
{
public function __construct(private readonly CentrifugoInterface $centrifugo)
{
}
public function example(): void
{
$this->centrifugo->publish(['foo' => 'bar'], 'channelName');
}
}
βΉοΈ More examples of using Centrifugo service
centrifugo:publish
centrifugo:broadcast
centrifugo:subscribe
centrifugo:unsubscribe
centrifugo:disconnect
centrifugo:refresh
centrifugo:presence
centrifugo:presence-stats
centrifugo:history
centrifugo:history-remove
centrifugo:channels
centrifugo:info
βΉοΈ More examples of using console commands
Read the CONTRIBUTING file.