knplabs/github-api
Lightweight, well-tested PHP wrapper for GitHub APIs v3 (REST) and v4 (GraphQL). PSR-17/PSR-18 compatible via HTTPlug, with easy setup using Guzzle, Symfony HttpClient, or other PSR clients. Supports framework integrations (Laravel via graham-campbell/github).
Searching repositories, code, issues and users. Wrap GitHub Search API. All methods are described on that page.
$repos = $client->api('search')->repositories('github language:php');
Returns a list of repositories found by such criteria.
$files = $client->api('search')->code('[@todo](https://github.com/todo) language:php');
Returns a list of files found by such criteria (containing "@todo" and language==php).
$files = $client->api('search')->codeWithMatch('[@todo](https://github.com/todo) language:php');
Same as code, with additional data to highlight the matching fragments (see Text match metadata).
$issues = $client->api('search')->issues('bug language:php');
Returns a list of issues found by such criteria.
$users = $client->api('search')->users('location:Amsterdam language:php');
$commits = $client->api('search')->commits('repo:octocat/Spoon-Knife+css');
Returns a list of users found by such criteria.
You can sort results using 2-3 arguments.
$repos = $client->api('search')->repositories('...', 'created', 'asc');
$files = $client->api('search')->code('...........', 'indexed', 'desc');
$issues = $client->api('search')->issues('.........', 'comments', 'asc');
$users = $client->api('search')->users('..........', 'followers', 'asc');
$commits = $client->api('search')->commits('..........', 'author-date', 'desc');
How can I help you explore Laravel packages today?