Простая объектно-ориентированная оболочка для GitHub API, написанная на PHP.
Использует GitHub API v3 и поддерживает GitHub API v4. Объектный API (v3) очень похож на RESTful API.
Через Композитор.
Эта команда поможет вам быстро приступить к работе с HTTP-клиентом Guzzle.
composer require knplabs/github-api:^3.0 guzzlehttp/guzzle:^7.0.1 http-interop/http-factory-guzzle:^1.0Мы отделены от любого клиента обмена сообщениями HTTP с помощью HTTPlug.
composer require knplabs/github-api:^3.0 symfony/http-client nyholm/psr7Чтобы настроить клиент Github с помощью этого HTTP-клиента
use Github Client ;
use Symfony Component HttpClient HttplugClient ;
$ client = Client:: createWithHttpClient ( new HttplugClient ());Подробнее об использовании различных клиентов читайте в нашей документации.
Чтобы интегрировать эту библиотеку в laravel, Грэм Кэмпбелл создал graham-campbell/github. Чтобы начать работу с laravel, прочтите инструкции по установке.
php-github-api <?php
// This file is generated by Composer
require_once __DIR__ . ' /vendor/autoload.php ' ;
$ client = new Github Client ();
$ repositories = $ client -> api ( ' user ' )-> repositories ( ' ornicar ' ); Из объекта $client у вас есть доступ ко всем доступным конечным точкам API GitHub.
В этом примере используется адаптер redis-адаптера кэш-пула PSR6. См. http://www.php-cache.com/ для альтернатив.
<?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 (); Используя кеш, клиент будет получать кешированные ответы, если ресурсы не изменились с прошлого раза, не достигая предела X-Rate-Limit установленного github.
Более подробную документацию смотрите в каталоге doc .
php-github-api лицензируется по лицензии MIT — подробности см. в файле ЛИЦЕНЗИИ.
Пожалуйста, сначала прочитайте этот пост.
Эту библиотеку поддерживают следующие люди (в алфавитном порядке):
Спасибо GitHub за качественный API и документацию.