Laravel PHP Facade/Wrapper for the IGDB API

1.0.0 2017-08-06 17:14 UTC

This package is auto-updated.

Last update: 2024-03-29 03:31:48 UTC


README

Build Status Built For Laravel License Total Downloads

Introduction

This packages provides a nice and easy wrapper around the IGDB API 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/.

Installation

Add messerli90/igdb to your composer.json.

"messerli90/igdb": "~1.0"

or

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.

'providers' => array(
    Messerli90\IGDB\IGDBServiceProvider::class,
)

Optionally, add the facade to your aliases array

'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.

'igdb' => [
    'key' => 'YOUR_IGDB_KEY',
    'url' => 'YOUR_IGDB_URL',
    'cache' => 0
]

Usage

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

$ phpunit

IGDB API

Contributing

Please see CONTRIBUTING for details.

Credits

License

The MIT License (MIT). Please see License File for more information.