dunglas/php-socialshare

此包已被放弃且不再维护。未建议替代包。

检索社交网络分享数和分享链接

v1.0.0 2015-11-16 23:29 UTC

This package is auto-updated.

Last update: 2021-01-26 18:21:38 UTC


README

SocialShare 是一个 PHP 库,允许检索主要社交网络上 URL 的分享次数。它还能生成有效的分享链接。

目前支持

  • Facebook
  • Twitter
  • Google Plus
  • Pinterest
  • LinkedIn
  • Scoop.it!
  • StumbleUpon
  • Tumblr

Build Status SensioLabsInsight Scrutinizer Code Quality HHVM Status

关键特性

  • 速度:服务器端检索计数并缓存;无 JavaScript SDK 加载;无从访客浏览器到社交网络的 HTTP 请求
  • 隐私:因此,不会将您的访客数据发送到社交网络,尊重其隐私
  • 定制:无需使用官方社交网络按钮,可以创建显示分享次数的美丽自定义按钮

缺点

对于大多数社交网络,分享数是通过社交网络未官方认可的服务获取的。这些服务可能随时被关闭。

服务 官方方式?
Facebook
Twitter
Google
LinkedIn
Pinterest
Scoop.it!
StumbleUpon

当分享次数超过 1000 时,Google 只返回一个估计值(例如 >10K)。PHP Social Share 将此估计值转换为整数。

Tumblr 的分享数无法通过任意 URL 获取,因此无法通过此库获取。

安装

使用 Composer 安装 SocialShare

composer require dunglas/php-socialshare

用法

缓存

SocialShare 依赖于 Doctrine Cache 库来存储从社交网络检索的数据。Doctrine Cache 支持许多缓存系统,包括但不限于文件、Memcache、MongoDB、Redis 和 APC。使用适合您需求的系统。

延迟更新

\SocialShare\SocialShare::getShares() 方法的第三个参数设置为 true 时,分享计数数永远不会从社交网络检索:如果缓存中已有值(其新旧无关)则使用,否则返回 0

要强制更新分享计数,必须调用 \SocialShare\SocialShare::update() 方法。

通过此调整,检索社交网络分享计数的 HTTP 请求将在页面加载后发出。当然,只有下一个访客会看到更新的计数,但这允许在最坏的情况下快速加载页面:当数据必须从社交网络服务器更新时。

如果您使用 PHP FPM,应在使用 fastcgi_finish_request() 函数 与客户端建立网络连接后调用此方法。

其他社交网络

您可以通过创建一个实现 SocialShare\Provider\ProviderInterface 接口的类来添加对新社交网络的支持。欢迎提交Pull Requests。

他们正在使用PHP SocialShare

致谢

此库由 Kévin Dunglas优秀的贡献者 编写。