jacobknox/pokemon-tcg-sdk-php

This is an update to the Pokémon TCG SDK PHP implementation. It is a wrapper around the Pokémon TCG API of pokemontcg.io.

2.1.1 2022-11-08 23:41 UTC

This package is auto-updated.

Last update: 2024-04-23 20:01:32 UTC


README

pokemontcg-developers on discord Build Status Code Climate

This is the Pokémon TCG SDK PHP implementation. It is a wrapper around the Pokémon TCG API of pokemontcg.io.

Installation

composer require jacobknox/pokemon-tcg-sdk-php

Usage

Set ApiKey and options

See the Guzzle 7 documentation for available options.

Pokemon::Options(['verify' => true]);
Pokemon::ApiKey('<YOUR_API_KEY_HERE>');

Find a Card by id

$card = Pokemon::Card()->find('xy1-1');

Filter Cards via query parameters

$cards = Pokemon::Card()->where(['set.name' => 'generations'])->where(['supertype' => 'pokemon'])->all();

$cards = Pokemon::Card()->where([
    'set.name' => 'roaring skies',
    'subtypes' => 'ex'
])->all();

Filter Cards via more complicated query parameters

$cards = Pokemon::Card()->where(['types' => ['OR', 'fire', 'water'])->where(['supertype' => 'pokemon'])->all();

$cards = Pokemon::Card()->where([
    'types' => ['OR', 'fire', 'water'],
    'subtypes' => 'ex'
])->all();

Order Cards

There are four methods to order cards. You may use whichever one suits you. Please note that they will sorted first by the first array/list item then by the second and so on until the end of the array/list.

Specify attribute and whether to sort ascending or descending

$cards = Pokemon::Card()->orderBy(['name' => 1, 'number' => -1])->all();

Permitted values to represent ascending: 1, 'ascending', ''. Permitted values to represent descending: -1, 'descending', '-'.

Specify attributes with order indicator ('-' indicates descending, lack thereof indicates ascending)

$cards = Pokemon::Card()->orderBy(['name', '-number'])->all();

Specify comma-separated list of attributes

$cards = Pokemon::Card()->orderBy(['name,-number'])->all();

Get all Cards

$cards = Pokemon::Card()->all();

Paginate Card queries

$cards = Pokemon::Card()->where([
    'set.legalities.standard' => 'legal'
])->page(8)->pageSize(100)->all();

Get Card pagination information

$pagination = Pokemon::Card()->where([
    'set.legalities.standard' => 'legal'
])->pagination();

Find a Set by set code

$set = Pokemon::Set()->find('base1');

Filter Sets via query parameters

$set = Pokemon::Set()->where(['legalities.standard' => 'legal'])->all();

Paginate Set queries

$set = Pokemon::Set()->page(2)->pageSize(10)->all();

Get Set pagination information

$pagination = Pokemon::Set()->pagination();

Get all Sets

$sets = Pokemon::Set()->all();

Get all Types

$types = Pokemon::Type()->all();

Get all Subtypes

$subtypes = Pokemon::Subtype()->all();

Get all Supertypes

$supertypes = Pokemon::Supertype()->all();

Get all Rarities

$supertypes = Pokemon::Rarity()->all();