The Wayback Machine - https://web.archive.org/web/20190322174001/https://github.com/KnpLabs/php-github-api
Skip to content
Please note that GitHub no longer supports Internet Explorer.

We recommend upgrading to the latest Microsoft Edge, Google Chrome, or Firefox.

Learn more
A simple PHP GitHub API client, Object Oriented, tested and documented. For 5.5+.
Branch: master
Clone or download
j0k3r and acrobat Fix typo (#779)
Missing closing comment
Latest commit 497292c Mar 18, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
doc Fix typo (#779) Mar 18, 2019
lib/Github Allow tags to be created without the tagger object. (#780) Mar 17, 2019
test/Github/Tests Allow tags to be created without the tagger object. (#780) Mar 17, 2019
.editorconfig
.gitattributes
.gitignore Add some style fixers Jul 2, 2015
.php_cs
.styleci.yml
.travis.yml
CHANGELOG.md
LICENSE
README.md
composer.json Drop hhvm support Mar 16, 2019
phpunit.xml.dist

README.md

PHP GitHub API

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

A simple Object Oriented wrapper for GitHub API, written with PHP.

Uses GitHub API v3 & supports GitHub API v4. The object API (v3) is very similar to the RESTful API.

Features

  • Light and fast thanks to lazy loading of API classes
  • Extensively tested and documented

Requirements

Install

Via Composer:

$ composer require knplabs/github-api php-http/guzzle6-adapter "^1.1"

Why php-http/guzzle6-adapter? We are decoupled from any HTTP messaging client with help by HTTPlug. Read about clients in our docs.

Using Laravel?

Laravel GitHub by Graham Campbell might interest you.

Basic usage of php-github-api client

<?php

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

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

From $client object, you can access to all GitHub.

Cache usage

This example uses the PSR6 cache pool redis-adapter. See http://www.php-cache.com/ for alternatives.

<?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.

Documentation

See the doc directory for more detailed documentation.

License

php-github-api is licensed under the MIT License - see the LICENSE file for details

Credits

Sponsored by

KnpLabs Team

Contributors

Thanks to GitHub for the high quality API and documentation.

You can’t perform that action at this time.