Skip to content

A simple PHP GitHub API client, Object Oriented, tested and documented. For 5.5+.

License

Notifications You must be signed in to change notification settings

sstok/php-github-api

This branch is 752 commits behind KnpLabs/php-github-api:master.

Folders and files

NameName
Last commit message
Last commit date
Oct 30, 2016
Oct 30, 2016
Oct 30, 2016
Jul 2, 2015
Jul 26, 2014
Jul 2, 2015
Oct 5, 2015
Jul 18, 2016
Aug 2, 2016
Oct 25, 2016
Oct 20, 2015
Oct 14, 2016
Sep 19, 2016
Feb 19, 2013

Repository files navigation

PHP GitHub API 2.0

In 2.0 lib no longer uses guzzle 3.7, instead it has an HTTPlug abstraction layer.

For old version please check:

Build Status StyleCI

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.

Features

  • Follows PSR-4 conventions and coding standard: autoload friendly
  • Light and fast thanks to lazy loading of API classes
  • Extensively tested and documented

Requirements

  • PHP >= 5.5
  • Guzzle library,
  • (optional) PHPUnit to run tests.

Autoload

The new version of php-github-api using Composer. The first step to use php-github-api is to download composer:

$ curl -s http://getcomposer.org/installer | php

Then run the following command to require the library:

$ php composer.phar require knplabs/github-api php-http/guzzle6-adapter

Why php-http/guzzle6-adapter? We are decoupled form 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 '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 '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.

About

A simple PHP GitHub API client, Object Oriented, tested and documented. For 5.5+.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP 100.0%