fresh/centrifugo-bundle

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

Fund package maintenance!
fre5h

Installs: 298

Dependents: 0

Suggesters: 0

Security: 0

Stars: 33

Watchers: 1

Forks: 1

Open Issues: 0

Type:symfony-bundle

1.1.1 2020-05-31 08:32 UTC

This package is auto-updated.

Last update: 2020-05-31 08:33:07 UTC


README

📦 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 7.3 and later
  • Symfony 4.4, 5.0 and later

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.

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 ###
CENTRIFUGO_API_KEY=secret-api-key
CENTRIFUGO_API_ENDPOINT=http://centrifugo:8000/api
CENTRIFUGO_SECRET=secret
###< fresh/centrifugo-bundle ###

ℹ️ Customize bundle configuration

Using 🧑‍🎓

Centrifugo service

<?php
declare(strict_types=1);

namespace App\Service;

use Fresh\CentrifugoBundle\Service\Centrifugo;

class YourService
{
    private $centrifugo;    

    public function __construct(Centrifugo $centrifugo)
    {
        $this->centrifugo = $centrifugo;
    }

    public function example(): void
    {
        $this->centrifugo->publish(['foo' => 'bar'], 'channelA');
    }
}

ℹ️ More examples of using Centrifugo service

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

ℹ️ More examples of using console commands

Integration into Symfony Web-Profiler 🎛️

Contributing 🤝

Read the CONTRIBUTING file.