erkenes / heise-shariff
Shariff的PHP后端。Shariff允许网站用户在不泄露隐私的情况下分享他们喜欢的内容。
Requires
- php: ^7.4 || ^8.0
- guzzlehttp/guzzle: ^7.4.1
- laminas/laminas-cache: ^3.1
- laminas/laminas-cache-storage-adapter-filesystem: ^2.0
- laminas/laminas-cache-storage-adapter-memory: ^2.0
- laminas/laminas-cache-storage-deprecated-factory: ^1.0
- psr/log: ^1.0
Requires (Dev)
- phpunit/phpunit: ^9.5
- dev-main
- 10.0.0
- 9.0.2
- 9.0.1
- 9.0.0
- 8.2.2
- 8.2.1
- 8.2.0
- 8.1.2
- 8.1.1
- 8.1.0
- 8.0.0
- 7.1.4
- 7.1.3
- 7.1.2
- 7.1.1
- 7.1.0
- 7.0.2
- 7.0.1
- 7.0.0
- 6.0.1
- 6.0.0
- 5.2.4
- 5.2.3
- 5.2.2
- 5.2.1
- 5.2.0
- 5.1.0
- 5.0.0
- 4.1.0
- 4.0.2
- 4.0.1
- 4.0.0
- 3.0.1
- 3.0.0
- 2.0.0
- 1.5.2
- 1.5.1
- 1.5.0
- 1.4.1
- 1.4.0
- 1.3.0
- 1.2.0
- 1.1.1
- 1.1.0
- 1.0.2
- 1.0.0
- dev-dependabot/composer/guzzlehttp/psr7-2.5.0
- dev-master
- dev-feat/ee-php-8-support
- dev-docker
This package is auto-updated.
Last update: 2024-09-19 23:40:37 UTC
README
Shariff用于确定页面在社交媒体上的分享频率,但不会从显示页面向社交网站生成请求。
本文档描述了Shariff的PHP后端。
支持的服务
- AddThis
- Buffer
- Flattr
- StumbleUpon
- Vk
要求
要在您的服务器上运行Shariff PHP后端,您需要以下PHP版本之一
- 7.2
- 7.3
- 7.4
- 8.0
- 8.1
不支持旧版本和HHVM。
在您的服务器上安装Shariff后端
要在特定URL下运行Shariff,请将发布 zip文件解压缩到您的Web服务器文档根目录下的目录中。
查看index.php
文件中的示例应用程序,并根据需要调整配置。
以下配置选项可用
缓存设置
默认情况下,Shariff使用文件系统缓存。通过指定Laminas\Cache\Storage\Adapter的不同适配器,您可以告诉Shariff使用另一个缓存。您还可以指定该缓存适配器的选项
这些选项仅适用于默认缓存类(LaminasCache
)。如果您实现了自定义缓存,则可以指定自己的选项。
客户端选项
后端使用Guzzle作为HTTP客户端。Guzzle有许多可设置的选项,例如超时和连接超时。有关详细列表,请参阅http://docs.guzzlephp.org/en/latest/request-options.html。为了设置这些选项,请通过键"client"在json中传递它们。
服务设置
要将配置选项传递给服务,您可以在服务的名称下添加它们到json中。目前只有Facebook服务有用于使用graph api id方法获取当前分享计数的应用程序id和客户端密钥的选项。
Facebook服务选项
要使用graph api id方法获取分享计数,您需要在facebook.com上设置一个应用程序,并将应用程序id和客户端密钥传递到选项中。似乎id方法返回最新的分享计数,但只能与已注册的应用程序一起使用。
完整的配置示例
use Heise\Shariff\LaminasCache; /** * Sample configuration * * @var array */ private static $configuration = [ 'cacheClass' => 'Heise\\Shariff\\LaminasCache', 'cache' => [ 'ttl' => 60, 'cacheDir' => '/tmp/shariff/cache', 'adapter' => 'Filesystem', 'adapterOptions' => [ // ... ] ], 'client' => [ 'timeout' => 4.2 // ... (see "Client options") ], 'domains' => [ 'www.heise.de', 'www.ct.de' ], 'services' => [ 'Facebook', 'Reddit', 'StumbleUpon', 'Flattr', 'Pinterest', 'Xing', 'AddThis', 'Buffer', 'Vk' ], 'Facebook' => [ 'app_id' => '1234567890', 'secret' => 'terces' ] ];
测试您的安装
如果后端在http://example.com/my-shariff-backend/
下运行,调用URL http://example.com/my-shariff-backend/?url=http%3A%2F%2Fwww.example.com
应该返回一个包含数字的JSON结构,例如
{"facebook":1452,"reddit":7,"stumbleupon":4325,"flattr":0,"pinterest":3,"addthis":33,"buffer":29,"vk":326}
Shariff面向对象接口
如果您需要更多控制,您可以在自己的PHP代码中调用Shariff。以下代码片段应该能让您入门。$options
与上面描述的相同。
use Heise\Shariff\Backend; $options = [ "domains" => ["www.heise.de", "www.ct.de"], "cache" => ["ttl" => 1], "services" => ["Facebook", "Reddit", "StumbleUpon", "Flattr", "Pinterest", "AddThis", "Buffer", "Vk"] ]; $shariff = new Backend($options); $counts = $shariff->get("https://www.heise.de/"); echo $counts["facebook"];