Skip to content

hyperplural/warface-sdk

Repository files navigation

Warface SDK (PHP)

Coverage

Fast, PSR‑18 HTTP‑client agnostic SDK for the public Warface API. Requires PHP >= 8.1.

Installation

composer require hyperplural/warface-sdk guzzlehttp/guzzle:^7 http-interop/http-factory-guzzle:^1

Decoupled from any specific HTTP client via HTTPlug.

Quickstart

use Hyperplural\WarfaceSdk\Client;
use Hyperplural\WarfaceSdk\Enum\RatingLeague;
use Hyperplural\WarfaceSdk\Enum\GameClass;

$client = new Client();

// Player stats
$stat = $client->user()->stat('Nickname');

// Player achievements
$achievements = $client->user()->achievements('Nickname');

// Achievement catalog
$catalog = $client->achievement()->catalog();

// Clan info
$clan = $client->clan()->members('ClanName');

// Missions
$missions = $client->game()->missions();

// Ratings
$monthly = $client->rating()->monthly('', RatingLeague::ELITE);
$top100 = $client->rating()->top100(GameClass::MEDIC);

Custom HTTP client

Provide your own PSR‑18 client (e.g., Symfony HttpClient with HTTPlug adapter):

use Hyperplural\WarfaceSdk\Client;
use Symfony\Component\HttpClient\HttplugClient;

$client = Client::createWithHttpClient(new HttplugClient());

References

Testing

composer test

Unit tests rely on JSON fixtures and a mock HTTP client — no network required. CI enforces 100% line coverage.

License

MIT. See LICENSE for details.

About

Fast, PSR‑18 HTTP‑client agnostic SDK for the public Warface API in PHP.

Topics

Resources

License

Stars

Watchers

Forks

Languages