Skip to content

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

License

Notifications You must be signed in to change notification settings

kznk7/php-github-api

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

Folders and files

NameName
Last commit message
Last commit date

Latest commit

bddf0f5 · Dec 8, 2021
Sep 15, 2021
Dec 3, 2021
Dec 3, 2021
Dec 3, 2021
Jul 2, 2015
Oct 17, 2019
Sep 9, 2019
Oct 28, 2019
Dec 8, 2021
Apr 16, 2021
Oct 20, 2015
May 23, 2021
Apr 9, 2021
Nov 2, 2021
Sep 26, 2021
Jul 4, 2020
Mar 28, 2021

Repository files navigation

PHP GitHub API

Build Status StyleCI Latest Stable Version Total Downloads 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

Quick install

Via Composer.

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

Advanced install

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.

Framework integrations

Laravel

To integrate this library in laravel Graham Campbell created graham-campbell/github. See the installation instructions to get started in laravel.

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 have access to all available GitHub api endpoints.

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

Maintainers

Please read this post first.

This library is maintained by the following people (alphabetically sorted) :

Contributors

Thanks to GitHub for the high quality API and documentation.

About

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

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP 100.0%