All Projects → messerli90 → igdb

messerli90 / igdb

Licence: MIT license
Laravel PHP Facade/Wrapper for the IGDB API

Programming Languages

PHP
23972 projects - #3 most used programming language

Projects that are alternatives of or similar to igdb

igdb
IGDB PHP API Wrapper
Stars: ✭ 20 (-33.33%)
Mutual labels:  wrapper, igdb, igdb-api
CallofDuty.py
Asynchronous, object-oriented Python wrapper for the Call of Duty API.
Stars: ✭ 86 (+186.67%)
Mutual labels:  wrapper
opencv-python-inference-engine
Wrapper package for OpenCV with Inference Engine python bindings.
Stars: ✭ 32 (+6.67%)
Mutual labels:  wrapper
sandboxed-fs
Sandboxed Wrapper for Node.js File System API
Stars: ✭ 41 (+36.67%)
Mutual labels:  wrapper
PoShLog
🔩 PoShLog is PowerShell cross-platform logging module. It allows you to log structured event data into console, file and much more places easily. It's built upon great C# logging library Serilog - https://serilog.net/
Stars: ✭ 108 (+260%)
Mutual labels:  wrapper
net-Socket
A minimalist wrapper around System.Net.Sockets.Socket.
Stars: ✭ 21 (-30%)
Mutual labels:  wrapper
BitLens
🔎 Have your bits and eat them too! A C++17 bit lens container for vector types.
Stars: ✭ 20 (-33.33%)
Mutual labels:  wrapper
Discord-Netflix
A updated and improved version from the original Discord-Netflix from Nirewen.
Stars: ✭ 26 (-13.33%)
Mutual labels:  wrapper
mira
The fantastic Golang Reddit API wrapper for gophers
Stars: ✭ 54 (+80%)
Mutual labels:  wrapper
ScintillaNET.WPF
A WPF Wrapper around the ScintillaNET v3 control
Stars: ✭ 30 (+0%)
Mutual labels:  wrapper
glow
OpenGL Object Wrapper (GLOW)
Stars: ✭ 18 (-40%)
Mutual labels:  wrapper
nim-lmdb
Nim LMDB wrapper
Stars: ✭ 31 (+3.33%)
Mutual labels:  wrapper
YaraSharp
C# wrapper around the Yara pattern matching library
Stars: ✭ 29 (-3.33%)
Mutual labels:  wrapper
fs2-ssh
A wrapper around Apache SSHD targeting cats-effect and fs2
Stars: ✭ 36 (+20%)
Mutual labels:  wrapper
nimCEF
Nim wrapper for the Chromium Embedded Framework
Stars: ✭ 27 (-10%)
Mutual labels:  wrapper
nimtesseract
A Tesseract OCR wrapper for Nim
Stars: ✭ 23 (-23.33%)
Mutual labels:  wrapper
ros jetson stats
🐢 The ROS jetson-stats wrapper. The status of your NVIDIA jetson in diagnostic messages
Stars: ✭ 55 (+83.33%)
Mutual labels:  wrapper
limo
A wrapper around selenium webdriver
Stars: ✭ 25 (-16.67%)
Mutual labels:  wrapper
sdlpp
C++ wrapper for SDL2
Stars: ✭ 37 (+23.33%)
Mutual labels:  wrapper
routeros-client
Abstraction layer over the node-routeros API
Stars: ✭ 63 (+110%)
Mutual labels:  wrapper

IGDB (Internet Game Database)

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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].