A simple PHP GitHub API client, Object Oriented, tested and documented. For 5.3+.
Switch branches/tags
Clone or download
Pull request Compare This branch is 21 commits ahead, 1000 commits behind KnpLabs:master.
Latest commit 4a889a0 Nov 23, 2012

README.markdown

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,
  • Buzz 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": "*"
    },
    "minimum-stability": "dev"
}

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.

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.

Model usage (WIP)

<?php

$org = new Github\Model\Org('screenpages');
$repo = $org->createRepo('github-api');
$issue = $repo->createIssue('This is a problem', array(
    'body' => 'Oh dear, now what?!'
));

$issue->addLabel('critical');

print_r($issue->labels());

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.