ChallongePHP
, (*1)
PSR-18 compliant package for interfacing with the Challonge API., (*2)
Installation
Refer to the table for PHP version compatibility:, (*3)
ChallongePHP Ver. |
Compatible PHP |
^5.0 |
8.1 - 8.2 |
^4.0 |
8.0 - 8.1 |
^3.0 |
7.4 - 8.0 |
^2.1 |
7.4 |
^2.0 |
7.4 |
^1.0 |
7.0 - 7.4 |
Install via composer:, (*4)
composer require team-reflex/challonge-php:version
Usage
As the package is PSR-18 compliant, it does not come with an HTTP client by default., (*5)
You can use a client such as Guzzle, and pass an instance of it when instantiating:, (*6)
$http = new GuzzleHttp\Client();
$challonge = new Challonge($http, 'api_key_here', true);
By default, the package maps the keys of any input, as Challonge requires its input to be in a format such as:, (*7)
$tournament = $challonge->createTournament([
'tournament[name]' => 'test'
]);
Which means you are able to use the package without prefixing your keys:, (*8)
$tournament = $challonge->createTournament([
'name' => 'test'
]);
You can change the third argument to false
to disable this mapping if you would prefer to do it yourself., (*9)
Now you're ready to make requests:, (*10)
$tournament = $challonge->fetchTournament('challongephptest');
API Updates
Challonge does not lock their API and has been consistently adding new fields to objects, thus breaking strongly typed DTOs., (*11)
As of 3.0.4, all three DTOs have been marked to ignore missing fields. If Challonge adds a new field, it will no longer throw a DataTransferObjectError
, but the DTO will also however not contain that new field., (*12)
Documentation
As the package is fully type-hinted, everything should be self documenting, however there is documentation in the wiki., (*13)