p-sam/real-time-bundle
Real-time events from server to browsers and mobile devices via "channels"
Please note that this bundle makes uses of ably.io and Redis via Predis.
Installation
Install with composer:
$ composer require p-sam/real-time-bundle
Then register the bundle in the AppKernel.php
file:
public function registerBundles()
{
$bundles = array(
// ...
new SP\RealTimeBundle\SPRealTimeBundle(),
// ...
);
return $bundles;
}
Then add the following to your routing.yml
:
sp_realtime:
resource: "@SPRealTimeBundle/Controller/"
type: annotation
Note: Registering the bundle and the routes are done automatically if you're using Symfony Flex
Configuration
Configure the predis
client and ably
key in your config.yml
:
sp_realtime:
ably:
api_key: '- ably key here -'
ttl: 3600 # in seconds
redis:
key_prefix: 'app:'
presence_check: true
Usage
From PHP
Services are provided from the bundle:
-
sp_real_time.sender
: Allows sending of messages to channels -
sp_real_time.presence
: Allow subscribing by providing tokens, and checking for presence in channels
The following events are dispatched:
-
sp_real_time.event.subscribe
: ASubscribeEvent
is emitted when a token is generated for a channel -
sp_real_time.event.message
: AMessageEvent
is emitted when a message is sent upstream to ably.io