jdecool/mercure

使用 HTTPlug 客户端的官方 symfony/mercure 组件的分支。

0.1.0 2020-12-10 23:08 UTC

This package is auto-updated.

Last update: 2024-09-16 06:07:41 UTC


README

Build Status Latest Stable Version

这是一个使用 HTTPlug 客户端对官方 symfony/mercure 组件的分支。

感谢 Kévin DunglasMercure.rocks 上的出色工作。感谢所有 Symfony 和 Mercure 的贡献者。

Mercure 是一种协议,允许以方便、快速、可靠且节能的方式将数据更新推送到网页浏览器和其他 HTTP 客户端。特别适用于发布通过 Web API 服务的资源的实时更新,对响应式网页和移动应用非常有用。

该组件实现了 Mercure 协议 的 "发布者" 部分。

安装它

使用 composer 安装,您需要安装一个符合 PSR-18 的 HTTP 客户端。

使用 Guzzle 的示例

composer require jdecool/mercure guzzlehttp/guzzle http-interop/http-factory-guzzle

入门

// 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 JDecool\Mercure\Jwt\StaticJwtProvider;
use JDecool\Mercure\PublisherFactory;
use JDecool\Mercure\Update;

$factory = new PublisherFactory();
$publisher = $factory->create(HUB_URL, new StaticJwtProvider(JWT));
$response = $publisher(new Update('https://example.com/books/1.jsonld', 'Hi from Symfony!'));