GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - KnpLabs/php-github-api: A simple PHP GitHub API client, Object Oriented, tested and documented.

BranchesTags
Open more actions menu

Latest commit

 

History

1,742 Commits
1,742 Commits

Folders and files

NameName
Last commit message
Last commit date
.github
.github
 
 
doc
doc
 
 
lib/Github
lib/Github
 
 
test/Github/Tests
test/Github/Tests
 
 
.editorconfig
.editorconfig
 
 
.gitattributes
.gitattributes
 
 
.gitignore
.gitignore
 
 
.styleci.yml
.styleci.yml
 
 
CHANGELOG-3.X.md
CHANGELOG-3.X.md
 
 
CHANGELOG.md
CHANGELOG.md
 
 
LICENSE
LICENSE
 
 
README.md
README.md
 
 
UPGRADE-3.0.md
UPGRADE-3.0.md
 
 
UPGRADE-4.0.md
UPGRADE-4.0.md
 
 
composer.json
composer.json
 
 
phpstan.neon.dist
phpstan.neon.dist
 
 
phpunit.xml.dist
phpunit.xml.dist
 
 

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

  • PHP >= 7.2
  • A PSR-17 implementation
  • A PSR-18 implementation

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) :

  • @acrobat
  • @Nyholm

Contributors

  • Thanks to Thibault Duplessis aka. ornicar for his first version of this library.
  • Thanks to Joseph Bielawski aka. stloyd for his contributions and support.
  • Thanks to noloh for his contribution on the Object API.
  • Thanks to bshaffer for his contribution on the Repo API.
  • Thanks to Rolf van de Krol for his countless contributions.
  • Thanks to Nicolas Pastorino for his contribution on the Pull Request API.
  • Thanks to Edoardo Rivello for his contribution on the Gists API.
  • Thanks to Miguel Piedrafita for his contribution to the v4 & Apps API.
  • Thanks to Emre DEGER for his contribution to the Actions API.

Thanks to GitHub for the high quality API and documentation.

About

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

Topics

github-apihacktoberfestphp

Resources

Readme
MIT license
Activity
Custom properties

Stars

2.2k stars

Watchers

70 watching

Forks

585 forks
Report repository

Releases

Sponsor this project

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.