Provides communication with web-socket server Centrifugo in Symfony applications.

Fund package maintenance!

Installs: 112 873

Dependents: 0

Suggesters: 0

Security: 0

Stars: 74

Watchers: 4

Forks: 8

Open Issues: 0




đŸ“Ļ Provides communication with web-socket server Centrifugo in Symfony applications.

Scrutinizer Quality Score Build Status CodeCov License Latest Stable Version Total Downloads StyleCI Gitter

Features 🎁

Requirements 🧐

  • PHP >= 8.2
  • Symfony 7.0

Installation 🌱

$ composer req fresh/centrifugo-bundle
Choose the version you need
Bundle Version (X.Y.Z) PHP Symfony Comment
5.3.* >= 8.2 7.* Current version
4.1.* >= 8.2 6.* 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.

Check the config/bundles.php file

# config/bundles.php

return [
    // Other bundles...
    Fresh\CentrifugoBundle\FreshCentrifugoBundle::class => ['all' => true],
    // Other bundles...

Check the .env file and add you configuration

# .env

###> fresh/centrifugo-bundle ###
###< 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

Using 🧑‍🎓

Centrifugo service


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

Authentication with JWT tokens 🗝ī¸

Console commands ⚒ī¸

  • 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

Integration into Symfony Web-Profiler 🎛ī¸

Autocomplete channels in console commands đŸĒ„

Contributing 🤝

Read the CONTRIBUTING file.