knplabs / github-api
GitHub API v3 客户端
v3.14.1
2024-03-24 18:21 UTC
Requires
- php: ^7.2.5 || ^8.0
- ext-json: *
- php-http/cache-plugin: ^1.7.1|^2.0
- php-http/client-common: ^2.3
- php-http/discovery: ^1.12
- php-http/httplug: ^2.2
- php-http/multipart-stream-builder: ^1.1.2
- psr/cache: ^1.0|^2.0|^3.0
- psr/http-client-implementation: ^1.0
- psr/http-factory-implementation: ^1.0
- psr/http-message: ^1.0|^2.0
- symfony/deprecation-contracts: ^2.2|^3.0
- symfony/polyfill-php80: ^1.17
Requires (Dev)
- guzzlehttp/guzzle: ^7.2
- guzzlehttp/psr7: ^1.7
- http-interop/http-factory-guzzle: ^1.0
- php-http/mock-client: ^1.4.1
- phpstan/extension-installer: ^1.0.5
- phpstan/phpstan: ^0.12.57
- phpstan/phpstan-deprecation-rules: ^0.12.5
- phpunit/phpunit: ^8.5 || ^9.4
- symfony/cache: ^5.1.8
- symfony/phpunit-bridge: ^5.2
- dev-master / 3.14.x-dev
- v3.14.1
- v3.14.0
- v3.13.0
- v3.12.0
- v3.11.0
- v3.10.0
- v3.9.0
- v3.8.0
- v3.7.0
- v3.6.0
- v3.5.1
- v3.5.0
- v3.4.0
- v3.3.0
- v3.2.0
- v3.1.0
- v3.0.0
- 2.x-dev
- v2.20.0
- v2.19.2
- v2.19.1
- v2.19.0
- v2.18.0
- v2.17.0
- v2.16.0
- v2.15.0
- v2.14.0
- 2.13.0
- 2.12.1
- 2.12.0
- 2.11.0
- 2.10.1
- 2.10.0
- 2.9.0
- 2.8.0
- 2.7.0
- 2.6.0
- 2.5.0
- 2.4.0
- 2.3.0
- 2.2.0
- 2.1.0
- 2.0.1
- 2.0.0
- 2.0.0-rc4
- 2.0.0-rc3
- 2.0.0-rc2
- 2.0.0-rc1
- 2.0.0-rc
- 1.7.x-dev
- 1.7.1
- 1.7.0
- 1.6.1
- 1.6.0
- 1.5.1
- 1.5.0
- 1.4.15
- 1.4.14
- 1.4.13
- 1.4.12
- 1.4.11
- 1.4.10
- 1.4.9
- 1.4.8
- 1.4.7
- 1.4.6
- 1.4.5
- 1.4.4
- 1.4.3
- 1.4.2
- 1.4.1
- 1.4.0
- 1.3.1
- 1.3.0
- 1.2.7
- 1.2.6
- 1.2.5
- 1.2.4
- 1.2.3
- 1.2.2
- 1.2.1
- 1.2.0
- 1.1.5
- 1.1.4
- 1.1.3
- 1.1.2
- 1.1.1
- 1.1.0
- 1.0.2
- 1.0.1
- 1.0.0
- 0.1
This package is auto-updated.
Last update: 2024-08-24 19:09:33 UTC
README
这是一个简单的面向对象的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和文档。