A simple Object Oriented wrapper for GitHub API, written with PHP5.
Uses GitHub API v3. The object API is very similar to the RESTful API.
PHP Github API alternatives and similar libraries
Based on the "Third Party APIs" category.
Alternatively, view PHP Github API alternatives based on common mentions on social networks and blogs.
9.1 9.6 L4 PHP Github API VS Amazon Web Service SDKOfficial repository of the AWS SDK for PHP (@awsforphp)
7.7 8.0 L4 PHP Github API VS TwilioA PHP library for communicating with the Twilio REST API and generating TwiML.
4.7 1.8 L3 PHP Github API VS Campaign MonitorA PHP library for the Campaign Monitor API
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of PHP Github API or a related project?
PHP GitHub API
A simple Object Oriented wrapper for GitHub API, written with PHP.
- Light and fast thanks to lazy loading of API classes
- Extensively tested and documented
This command will get you up and running quickly with a Guzzle HTTP client.
composer require knplabs/github-api:^3.0 guzzlehttp/guzzle:^7.0.1 http-interop/http-factory-guzzle:^1.0
We are decoupled from any HTTP messaging client with help by HTTPlug.
Using a different http client
composer require knplabs/github-api:^3.0 symfony/http-client nyholm/psr7
To set up the Github client with this HTTP client
use Github\Client; use Symfony\Component\HttpClient\HttplugClient; $client = Client::createWithHttpClient(new HttplugClient());
Read more about [using different clients in our docs](doc/customize.md).
Basic usage of
<?php // This file is generated by Composer require_once __DIR__ . '/vendor/autoload.php'; $client = new \Github\Client(); $repositories = $client->api('user')->repositories('ornicar');
$client object, you have access to all available GitHub api endpoints.
<?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();
Using cache, the client will get cached responses if resources haven't changed since last time,
without reaching the
X-Rate-Limit imposed by github.
See the [
doc directory](doc/) for more detailed documentation.
php-github-api is licensed under the MIT License - see the LICENSE file for details
Please read this post first.
This library is maintained by the following people (alphabetically sorted) :
- Thanks to Thibault Duplessis aka. ornicar for his first version of this library.
- Thanks to Joseph Bielawski aka. stloyd for his contributions and support.
- Thanks to noloh for his contribution on the Object API.
- Thanks to bshaffer for his contribution on the Repo API.
- Thanks to Rolf van de Krol for his countless contributions.
- Thanks to Nicolas Pastorino for his contribution on the Pull Request API.
- Thanks to Edoardo Rivello for his contribution on the Gists API.
- Thanks to Miguel Piedrafita for his contribution to the v4 & Apps API.
- Thanks to Emre DEGER for his contribution to the Actions API.
Thanks to GitHub for the high quality API and documentation.
*Note that all licence references and agreements mentioned in the PHP Github API README section above are relevant to that project's source code only.