knplabs/github-api

GitHub API v3 客户端

资助包维护!
acrobat

安装次数: 11,240,402

依赖者: 223

建议者: 4

安全: 0

星标: 2,138

关注者: 74

分支: 596

开放问题: 45

v3.14.1 2024-03-24 18:21 UTC

README

Build Status StyleCI Latest Stable Version Total Downloads Monthly Downloads Daily Downloads

这是一个简单的面向对象的GitHub API包装器,使用PHP编写。

使用 GitHub API v3 并支持 GitHub API v4。对象API(v3)与RESTful API非常相似。

特性

  • 轻量且快速,得益于API类的懒加载
  • 广泛测试和文档化

要求

快速安装

通过 Composer

此命令将快速使用Guzzle HTTP客户端启动。

composer require knplabs/github-api:^3.0 guzzlehttp/guzzle:^7.0.1 http-interop/http-factory-guzzle:^1.0

高级安装

我们在HTTPlug的帮助下与任何HTTP消息客户端解耦。

使用不同的http客户端

composer require knplabs/github-api:^3.0 symfony/http-client nyholm/psr7

要设置与该HTTP客户端的Github客户端

use Github\Client;
use Symfony\Component\HttpClient\HttplugClient;

$client = Client::createWithHttpClient(new HttplugClient());

在我们的文档中阅读更多关于 使用不同客户端 的信息。

框架集成

Laravel

要整合此库到laravel,Graham Campbell创建了graham-campbell/github。查看安装说明以在laravel中开始。

php-github-api客户端的基本用法

<?php

// This file is generated by Composer
require_once __DIR__ . '/vendor/autoload.php';

$client = new \Github\Client();
$repositories = $client->api('user')->repositories('ornicar');

$client对象中,你可以访问所有可用的GitHub API端点。

缓存使用

此示例使用PSR6缓存池redis-adapter。有关替代方案,请参阅http://www.php-cache.com/

<?php

// This file is generated by Composer
require_once __DIR__ . '/vendor/autoload.php';

use Cache\Adapter\Redis\RedisCachePool;

$client = new \Redis();
$client->connect('127.0.0.1', 6379);
// Create a PSR6 cache pool
$pool = new RedisCachePool($client);

$client = new \Github\Client();
$client->addCache($pool);

// Do some request

// Stop using cache
$client->removeCache();

使用缓存,如果资源自上次以来未发生变化,客户端将获取缓存的响应,无需达到GitHub强制的X-Rate-Limit

文档

有关更详细的文档,请参阅doc目录

许可证

php-github-api 在MIT许可证下授权 - 有关详细信息,请参阅LICENSE文件。

维护者

请先阅读此文章

此库由以下人员维护(按字母顺序排序)

贡献者

  • 感谢Thibault Duplessis aka. ornicar为此库的第一个版本所做的贡献。
  • 感谢Joseph Bielawski aka. stloyd的贡献和支持。
  • 感谢noloh在对象API方面的贡献。
  • 感谢对Repo API的贡献。
  • 感谢Rolf van de Krol的贡献,不胜枚举。
  • 感谢Nicolas Pastorino对Pull Request API的贡献。
  • 感谢Edoardo Rivello对Gists API的贡献。
  • 感谢Miguel Piedrafita对v4 & Apps API的贡献。
  • 感谢Emre DEGER对Actions API的贡献。

感谢GitHub提供了高质量的API和文档。