Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/messerli90/igdb
Laravel PHP Facade/Wrapper for the IGDB API
https://github.com/messerli90/igdb
igdb igdb-api laravel laravel-php-facade wrapper
Last synced: 3 months ago
JSON representation
Laravel PHP Facade/Wrapper for the IGDB API
- Host: GitHub
- URL: https://github.com/messerli90/igdb
- Owner: messerli90
- License: mit
- Created: 2017-01-02T09:36:31.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2019-10-30T07:00:11.000Z (about 5 years ago)
- Last Synced: 2024-07-19T04:36:38.316Z (4 months ago)
- Topics: igdb, igdb-api, laravel, laravel-php-facade, wrapper
- Language: PHP
- Size: 26.4 KB
- Stars: 30
- Watchers: 4
- Forks: 9
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
IGDB (Internet Game Database)
=========[![Build Status](https://travis-ci.org/messerli90/igdb.svg?branch=master)](https://travis-ci.org/messerli90/igdb)
[![Built For Laravel](https://img.shields.io/badge/built%20for-laravel-blue.svg)](http://laravel.com)
[![License](https://poser.pugx.org/messerli90/igdb/license)](https://packagist.org/packages/messerli90/igdb)
[![Total Downloads](https://poser.pugx.org/messerli90/igdb/downloads)](https://packagist.org/packages/messerli90/igdb)## Introduction
This packages provides a nice and easy wrapper around the [IGDB API](https://igdb.github.io/api/about/welcome/) for use in your Laravel application.In order to use the IGDB API, you must have a account and key. You can register your app at [https://api.igdb.com/](https://api.igdb.com/).
## Installation
Add `messerli90/igdb` to your `composer.json`.
```
"messerli90/igdb": "~1.0"
```
or
```bash
composer require messerli90/igdb
```Run `composer update` to pull down the latest version of the package.
Now open up `app/config/app.php` and add the service provider to your `providers` array.
```php
'providers' => array(
Messerli90\IGDB\IGDBServiceProvider::class,
)
```Optionally, add the facade to your `aliases` array
```php
'IGDB' => \Messerli90\IGDB\Facades\IGDB::class,
```## Configuration
Add the `igdb` to your `config/services.php` array. Set cache to a number of minutes to cache responses.
```php
'igdb' => [
'key' => 'YOUR_IGDB_KEY',
'url' => 'YOUR_IGDB_URL',
'cache' => 0
]
```## Usage
```php
// Get Game by ID
$game = IGDB::getGame(9630);// Customize / limit the returned fields
$games = IGDB::getGame(9630, ['name', 'release_dates', 'esrb', 'genres'], $limit = 10, $offset = 0, $order = 'release_dates.date:desc');// Search Games by name
$games = IGDB::searchGames('fallout');// Get Character by ID
$character = IGDB::getCharacter(4534);// Search Characters by name
$characters = IGDB::searchCharacters('fisher');// Get upcoming releases
$releases = IGDB::getReleases($filters = ['filter[platform][eq]=48', 'filter[date][gt]=1500619813000], $fields = ['*'], $limit = 10, $offset = 0, $order = 'date:asc');// Get Company by ID
$companies = IGDB::getCompany('ubisoft');// Search Company by name
$company = IGDB::getCompany(7041);// Get Franchise by ID
$franchise = IGDB::getFranchise(133);// Search Franchise by name
$franchises = IGDB::searchFranchises('Harry Potter');// Get Game Mode by Id
$game_mode = IGDB::getGameMode(1);// Search Game Modes by name
$game_modes = IGDB::searchGameModes('Single Player');// Get Genre by ID
$genre = IGDB::getGenre(15);// Search Genres by name
$genres = IGDB::searchGenres('strategy');// Get Keyword by ID
$keyword = IGDB::getKeyword(121);// Search Keyword by name
$keywords = IGDB::searchKeywords('sandbox');// Get Person by ID
$person = IGDB::getPerson(24354);// Search People by name
$people = IGDB::searchPeople('Delaney');// Get Platform by ID
$platform = IGDB::getPlatform(49);// Search Platforms by name
$platforms = IGDB::searchPlatforms('xbox');// Get Player Perspective by ID
$player_perspective = IGDB::getPlayerPerspective(7);// Search Player Perspective by name
$player_perspectives = IGDB::searchPlayerPerspectives('Virtual');// Get Pulse by ID
$pulse = IGDB::getPulse(20707);// Fetch latest Pulses
$pulses = IGDB::fetchPulses();// Get Collection / Series by ID
$collection = IGDB::getCollection(3);// Search Collections / Series by name
$collections = IGDB::searchCollections('fallout');// Get Theme by ID
$theme = IGDB::getTheme(39);// Search Themes by name
$themes = IGDB::searchThemes('warfare');```
## Format of returned data
The returned JSON data is decoded as a PHP object.
## Run Unit Test
If you have PHPUnit installed in your environment, run:
```bash
$ phpunit
```## IGDB API
- [IGDB API Docs](https://igdb.github.io/api/about/welcome/)
- [Register application and obtain API key](https://api.igdb.com/)## Contributing
Please see [CONTRIBUTING](CONTRIBUTING.md) for details.
## Credits
- [Michael Messerli](https://twitter.com/michaelmesserli)
- [k4kuz0](https://github.com/k4kuz0)## License
The MIT License (MIT). Please see [License File](LICENSE.md) for more information.