Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

jeffcross/php-github-api

Open more actions menu
 
 

Repository files navigation

PHP GitHub API

Build Status

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-0 conventions and coding standard: autoload friendly
  • Light and fast thanks to lazy loading of API classes
  • Extensively tested and documented

Requirements

  • PHP >= 5.3.2 with cURL extension,
  • 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 we have to install our dependencies using:

$ php composer.phar install

Now we can use autoloader from Composer by:

{
    "require": {
        "knplabs/github-api": "~1.2"
    }
}

php-github-api follows the PSR-0 convention names for its classes, which means you can easily integrate php-github-api classes loading in your own autoloader.

Using Laravel?

Laravel GitHub by Graham Campbell might interest you.

{
    "require": {
        "graham-campbell/github": "0.1.*"
    }
}

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

<?php

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

$client = new \Github\Client(
    new \Github\HttpClient\CachedHttpClient(array('cache_dir' => '/tmp/github-api-cache'))
);

// Or select directly which cache you want to use
$client = new \Github\HttpClient\CachedHttpClient();
$client->setCache(
    // Built in one, or any cache implementing this interface:
    // Github\HttpClient\Cache\CacheInterface
    new \Github\HttpClient\Cache\FilesystemCache('/tmp/github-api-cache')
);

$client = new \Github\Client($client);

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.3+.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP 100.0%
Morty Proxy This is a proxified and sanitized view of the page, visit original site.