her-cat / v2ex-api
基于 V2EX API 的 PHP 组件
Installs: 8
Dependents: 0
Suggesters: 0
Security: 0
Stars: 3
Watchers: 0
Forks: 0
Open Issues: 0
pkg:composer/her-cat/v2ex-api
Requires
- guzzlehttp/guzzle: ^6.3
 - mockery/mockery: ^1.2
 - phpunit/phpunit: ~5
 
This package is auto-updated.
Last update: 2025-10-21 05:45:17 UTC
README
🌴 基于 V2EX API 的 PHP 组件.
安装
$ composer require her-cat/v2ex-api -vvv
使用
use HerCat\V2exApi\V2exApi; $v2ex = new V2exApi();
获取最热主题
$response = $v2ex->getHotTopics();
示例:
[
    {
        "node":{
            "avatar_large":"//cdn.v2ex.com/navatar/6e27/13a6/557_large.png?m=1473710080",
            "name":"life",
            "avatar_normal":"//cdn.v2ex.com/navatar/6e27/13a6/557_normal.png?m=1473710080",
            "title":"生活",
            "url":"https://www.v2ex.com/go/life",
            "topics":1291,
            "footer":null,
            "header":null,
            "title_alternative":"Life",
            "avatar_mini":"//cdn.v2ex.com/navatar/6e27/13a6/557_mini.png?m=1473710080",
            "stars":288,
            "root":false,
            "id":557,
            "parent_node_name":null
        },
        "member":{
            "username":"fyy5520",
            "website":"",
            "github":"",
            "psn":"",
            "avatar_normal":"//cdn.v2ex.com/gravatar/1e435c2a43b5af7191f09d401440e982?s=24&d=retro",
            "bio":"",
            "url":"https://www.v2ex.com/u/fyy5520",
            "tagline":"",
            "twitter":"",
            "created":1514864265,
            "avatar_large":"//cdn.v2ex.com/gravatar/1e435c2a43b5af7191f09d401440e982?s=24&d=retro",
            "avatar_mini":"//cdn.v2ex.com/gravatar/1e435c2a43b5af7191f09d401440e982?s=24&d=retro",
            "location":"",
            "btc":"",
            "id":278484
        },
        "last_reply_by":"PP",
        "last_touched":1560682334,
        "title":"30 岁大龄剩女日常吐槽",
        "url":"https://www.v2ex.com/t/574429",
        "created":1560665172,
        "content":"最近看到好多关于抨击大龄剩女的问题,",
        "content_rendered":"<p>最近看到好多关于抨击大龄剩女的问题,简直要生食其肉一般,也不知道为什么对这种群体有这么大恶意。</p>",
        "last_modified":1560665172,
        "replies":88,
        "id":574429
    }
]
获取最新主题
$response = $v2ex->getLatestTopics();
示例:
返回结果跟
获取最热主题一样
获取节点信息
$response = $v2ex->getNode('python');
示例:
{
    "avatar_large":"//cdn.v2ex.com/navatar/8613/985e/90_large.png?m=1560497984",
    "name":"python",
    "avatar_normal":"//cdn.v2ex.com/navatar/8613/985e/90_normal.png?m=1560497984",
    "title":"Python",
    "url":"https://www.v2ex.com/go/python",
    "topics":11624,
    "footer":"",
    "header":"这里讨论各种 Python 语言编程话题,也包括 Django,Tornado 等框架的讨论。这里是一个能够帮助你解决实际问题的地方。",
    "title_alternative":"Python",
    "avatar_mini":"//cdn.v2ex.com/navatar/8613/985e/90_mini.png?m=1560497984",
    "stars":8055,
    "root":false,
    "id":90,
    "parent_node_name":"programming"
}
获取用户信息
根据用户名获取用户信息
$response = $v2ex->getMemberByUsername('hercat');
根据用户 ID 获取用户信息
$response = $v2ex->getMemberByID(336714);
示例:
{
    "username":"hercat",
    "website":null,
    "github":null,
    "psn":null,
    "avatar_normal":"//cdn.v2ex.com/gravatar/16a382effadf6405b4f2923be83e8d04?s=24&d=retro",
    "bio":null,
    "url":"https://www.v2ex.com/u/hercat",
    "tagline":null,
    "twitter":null,
    "created":1532747204,
    "status":"found",
    "avatar_large":"//cdn.v2ex.com/gravatar/16a382effadf6405b4f2923be83e8d04?s=24&d=retro",
    "avatar_mini":"//cdn.v2ex.com/gravatar/16a382effadf6405b4f2923be83e8d04?s=24&d=retro",
    "location":null,
    "btc":null,
    "id":336714
}
获取原始返回结果
方法最后一个参数为是否格式化结果,bool 类型 :
$response = $v2ex->getMemberByUsername('hercat', false);
参数说明
array|string getHotTopics(bool $format = true) array|string getLatestTopics(bool $format = true) array|string getNode(string $name, bool $format = true) array|string getMemberByUsername(string $username, bool $format = true) array|string getMemberByID(int $id, bool $format = true)
- $name - 节点名称,比如:“python”;
 - $username - 用户名称,比如:“hercat”;
 - $id - 用户 ID,比如:“336714”;
 - $format - 是否格式化返回结果。
 
License
MIT