MtgJson Client to retrieve some information from MtgJson.com
Supported endpoints:
/SetList.json
/{SetCode}.json
/CardTypes.json
/AtomicCards.json
/LegacyAtomic.json
/PauperAtomic.json
/PioneerAtomic.json
/ModernAtomic.json
/StandardAtomic.json
/VintageAtomic.json
Currently NOT supported:
/EnumValues.json
/Keywords.json
/Legacy.json
/Pioneer.json
/Modern.json
/Standard.json
/Vintage.json
/CompiledList
/DeckList
composer require magiclegacy/mtgjson-client
<?php
namespace Application;
use MagicLegacy\Component\MtgJson\Client\MtgJsonClient;
use Eureka\Component\Curl;
use Nyholm\Psr7\Factory\Psr17Factory;
use Psr\Log\NullLogger;
//~ Declare tier required services (included as dependencies)
$httpFactory = new Psr17Factory();
$mtgJsonClient = new MtgJsonClient(
new Curl\HttpClient(),
$httpFactory,
$httpFactory,
$httpFactory,
new NullLogger()
);
$setList = $mtgJsonClient->getList();
foreach ($setList as $setBasic) {
echo (string) $setBasic->getCode() . ' - ' . $setBasic->getName() . PHP_EOL;
}
see: example.php
The output will be:
P15A - 15th Anniversary Cards
HTR - 2016 Heroes of the Realm
G17 - 2017 Gift Pack
HTR17 - 2017 Heroes of the Realm
PLNY - 2018 Lunar New Year
AER - Aether Revolt
PAER - Aether Revolt Promos
ARB - Alara Reborn
ALL - Alliances
AKH - Amonkhet
MP2 - Amonkhet Invocations
PAKH - Amonkhet Promos
AKR - Amonkhet Remastered
ATH - Anthologies
ATQ - Antiquities
APC - Apocalypse
[...]
PWOR - World Championship Promos
PWCQ - World Magic Cup Qualifiers
WWK - Worldwake
PWWK - Worldwake Promos
PSS2 - XLN Standard Showdown
PXTC - XLN Treasure Chest
ZEN - Zendikar
EXP - Zendikar Expeditions
PZEN - Zendikar Promos
Available methods:
MtgJsonClient::getList()
:SetBasic[]
MtgJsonClient::get($setCode)
:Set[]
Available methods:
MtgJsonClient::getAllAtomicCards()
:AtomicCard[]
MtgJsonClient::getLegacyAtomicCards()
:AtomicCard[]
MtgJsonClient::getModernAtomicCards()
:AtomicCard[]
MtgJsonClient::getPauperAtomicCards()
:AtomicCard[]
MtgJsonClient::getPioneerAtomicCards()
:AtomicCard[]
MtgJsonClient::getStandardAtomicCards()
:AtomicCard[]
MtgJsonClient::getVintageAtomicCards()
:AtomicCard[]
Available methods:
MtgJsonClient::getCardTypes()
:CardTypes