boo/bnet is a PHP 7.1+ library for working with the Battle.net APIs.
The preferred method of installation is via Packagist and Composer. Run the following command to install the package and add it as a requirement to your project's composer.json:
composer require boo/bnetThe boo/bnet library is able to generate PSR-7 requests for all Battle.net API endpoints. In order to do so, a request factory implementing PSR-17, as well as a PSR-7 compatible HTTP client, is required. The example below uses http-interop/http-factory-guzzle and guzzlehttp/guzzle, but any PSR-17 implementation and PSR-7 compatible HTTP client will work.
use Boo\BattleNet\Apis\Warcraft\CharacterProfileApi; use Boo\BattleNet\Regions\EU; use GuzzleHttp\Client; use Http\Factory\Guzzle\RequestFactory; $api = new CharacterProfileApi( new RequestFactory(), // Implementation of PSR-17 new EU(), // API region '3797fb20f11da97fbc5fc9335247883c' // API key ); $request = $api->getCharacterProfile('Draenor', 'Jyggen'); $client = new Client(); // PSR-7 compatible HTTP client $response = $client->send($request); var_dump($response);The boo/bnet library ships with a provider for league/oauth2-client.
use Boo\BattleNet\OAuth2\BattleNetProvider; $provider = new BattleNetProvider([ 'clientId' => '3797fb20f11da97fbc5fc9335247883c', 'clientSecret' => '7daf46a2c8a780582c6e46e71e5158fd', 'redirectUri' => 'https://localhost/oauth', 'region' => new EU(), ]);The boo/bnet library is copyright © Jonas Stendahl and licensed for use under the MIT License (MIT). Please see LICENSE for more information.