evansims / socialworth

此包已被弃用且不再维护。没有建议的替代包。

一个简单的PHP库,用于通过查询社交网络API确定URL的流行度。

2.0.0 2014-05-03 05:50 UTC

This package is auto-updated.

Last update: 2023-01-17 20:04:18 UTC


README

Latest Stable Version Build Status Coverage Status License

一个简单的PHP库,通过查询社交网络API确定给定URL的流行度。

目前支持以下社交网络:

  • Twitter(统计提及和转发次数)
  • Facebook(统计点赞、评论和分享次数)
  • Google+(+1次数)
  • Pinterest(分享次数)
  • Reddit(统计提交的故事和点赞次数)
  • StumbleUpon浏览次数
  • LinkedIn分享次数
  • Hacker News API服务目前离线。
  • Mozscape Backlinks 已停用。

此库有多种用途;例如生成博客最受欢迎文章的列表以优化位置,或者在不依赖臃肿的外部JavaScript包含的情况下在页面上展示社交网络计数器。

安装

要将此包作为项目依赖项添加,只需将 evansims/socialworth 添加到您的项目 composer.json 文件中。以下是一个最小化的 composer.json 文件示例

{
    "require": {
        "evansims/socialworth": "*"
    }
}

然后运行 composer install 安装库。Composer会生成一个 vendor/autoload.php 文件,您需要在调用Socialworth之前将其包含到您的项目中

require 'vendor/autoload.php';

使用方法

要查询支持的所有服务的URL

<?php
use Evansims\Socialworth;

$socialworth = new Socialworth('https://github.com/');
var_dump($socialworth->all());
?>

或者,您可以查询单个服务

<?php
use Evansims\Socialworth;

var_dump(Socialworth::twitter('https://github.com/'));
?>

或者从查询中排除特定的服务

<?php
use Evansims\Socialworth;

$socialworth = new Socialworth('https://github.com/');
$socialworth->linkedin = false;

var_dump($socialworth->all());
?>

all() 方法将返回一个对象,您可以使用它来获取单个服务的结果或从服务中找到综合的流行度

<?php
use Evansims\Socialworth;

$socialworth = new Socialworth('https://github.com/');
$response = $socialworth->all();

var_dump($response->total); // Total likes, shares, upvotes, etc.
var_dump($response->reddit); // Just shares and upvotes from reddit.
var_dump($response->twitter); // Just mentions, retweets and shares on Twitter.
?>

演示脚本

提供了一个演示脚本,允许您从浏览器或命令行查询库。

要从命令行调用脚本...

$ php demo.php https://github.com/

或者,要查询单个服务...

$ php demo.php --twitter --facebook https://github.com/

如果演示脚本可以从您的Web服务器访问,您可以传递一个url...

http://localhost/path/to/demo.php?url=https://github.com/

无论从CLI还是浏览器,您都将收到一个JSON对象。

{
    "total": 48217,
    "twitter": 26582,
    "facebook": 15284,
    "pinterest": 157,
    "reddit": 5,
    "googleplus": 6049,
    "stumbleupon": 297,
    "linkedin": 0
}

此作品受到了Jonathan Moore的gist的启发:https://gist.github.com/2640302