symfony / mercure
Symfony Mercure Component
Installs: 9 249 679
Dependents: 25
Suggesters: 2
Security: 0
Stars: 414
Watchers: 7
Forks: 39
Open Issues: 10
Requires
- php: >=7.1.3
- symfony/deprecation-contracts: ^2.0|^3.0|^4.0
- symfony/http-client: ^4.4|^5.0|^6.0|^7.0
- symfony/http-foundation: ^4.4|^5.0|^6.0|^7.0
- symfony/polyfill-php80: ^1.22
- symfony/web-link: ^4.4|^5.0|^6.0|^7.0
Requires (Dev)
- lcobucci/jwt: ^3.4|^4.0|^5.0
- symfony/event-dispatcher: ^4.4|^5.0|^6.0|^7.0
- symfony/http-kernel: ^4.4|^5.0|^6.0|^7.0
- symfony/phpunit-bridge: ^5.2|^6.0|^7.0
- symfony/stopwatch: ^4.4|^5.0|^6.0|^7.0
- twig/twig: ^2.0|^3.0|^4.0
Suggests
- symfony/stopwatch: Integration with the profiler performances
README
Mercure is a protocol allowing to push data updates to web browsers and other HTTP clients in a convenient, fast, reliable and battery-efficient way. It is especially useful to publish real-time updates of resources served through web APIs, to reactive web and mobile apps.
The Mercure Component implements the "publisher" part of the Mercure Protocol.
Getting Started
$ composer require symfony/mercure
// change these values accordingly to your hub installation define('HUB_URL', 'https://demo.mercure.rocks/.well-known/mercure'); define('JWT', 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJtZXJjdXJlIjp7InN1YnNjcmliZSI6WyJmb28iLCJiYXIiXSwicHVibGlzaCI6WyJmb28iXX19.LRLvirgONK13JgacQ_VbcjySbVhkSmHy3IznH3tA9PM'); use Symfony\Component\Mercure\Hub; use Symfony\Component\Mercure\Jwt\StaticTokenProvider; use Symfony\Component\Mercure\Update; $hub = new Hub(HUB_URL, new StaticTokenProvider(JWT)); // Serialize the update, and dispatch it to the hub, that will broadcast it to the clients $id = $hub->publish(new Update('https://example.com/books/1.jsonld', 'Hi from Symfony!'));